多个独立程序之间跳转问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4107|回复: 2
打印 上一主题 下一主题

多个独立程序之间跳转问题

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。' Q- a) d. f. E) h
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
3 Y/ i  _1 c+ L- l) ]补充:不能改变工程及文件结构* }- |" C) o- G9 q0 U( c7 x
请各位大神答疑解惑,必感激不尽+ r- e# `0 x% ]) D! d; C9 v

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00% l0 [2 Z, U% T6 E7 D  ]

% ~- P! ], X# m( u- F6 Q: C
  1. /****************************************************************************/
    7 }- B8 Z; _4 g2 l$ Y
  2. /*                                                                          *// z: B/ E% h+ A
  3. /*              BootMenu                                                    */
    # W+ W3 E  M. {! S
  4. /*                                                                          */$ D) d( d: n* B- a* J' O
  5. /*              2014年11月07日                                              */
    ; Y! R, d+ _6 y& D9 |. q6 Q
  6. /*                                                                          *// C# f& g. h% w1 {* B4 n
  7. /****************************************************************************/
    6 p9 o8 o9 o* K9 W5 [, {
  8. #include "uartStdio.h"
    % e" g2 M4 d7 n: j2 y& k
  9. 7 v2 S$ r- b1 J* Q/ d5 `
  10. /****************************************************************************/6 \  C+ H9 G2 s  W& |
  11. /*                                                                          */! ~( ^% w- u6 V' e9 W+ u
  12. /*              宏定义                                                      *// }  E5 d. R* D. j, {) d
  13. /*                                                                          */
    # P- }8 z& R* X: {
  14. /****************************************************************************/
    * d7 C4 D4 g7 `
  15. $ d5 v$ T6 ]- _4 X
  16. /****************************************************************************/  Z& s0 Q4 m9 W0 z8 r! ?3 I
  17. /*                                                                          */0 f% y3 n$ |( l4 A  S% Z* ^; l
  18. /*              全局变量                                                    */
    9 w; b- F, M$ p
  19. /*                                                                          */7 B* c5 `7 k# i
  20. /****************************************************************************/
    % _% f0 h# v$ e/ y
  21. unsigned int EntryPoint = 0xC0000000;
    . J  b! B( s1 ~& K3 U2 u5 q

  22. 1 p2 w8 O5 d+ ^- b6 m
  23. /****************************************************************************/2 C" }, Q  q6 D, A% v4 A+ K
  24. /*                                                                          */
    ! c- J4 V! z- S* y5 l& P
  25. /*              函数声明                                                    */& ^# }0 Y% M: Q- p: h, R
  26. /*                                                                          */2 y* M* ?0 B3 F, n, k5 x1 ~
  27. /****************************************************************************/
      K; h8 [0 }& r8 }  H
  28. void (*AppEntry)();; S4 A: w, h" _: X. a1 D
  29. / n7 p5 o& Y8 B9 k) M- b
  30. /****************************************************************************/4 R+ ~' \9 j9 z/ d- [  J4 r
  31. /*                                                                          */
    ( z& i! i; e3 P
  32. /*              主函数                                                      */; ?6 N- T+ Q! I, p+ Q4 @; o! t  l/ e
  33. /*                                                                          */
    5 h, Q  k, X+ y
  34. /****************************************************************************/2 M) P4 f# M( t3 Q' C2 r6 ]
  35. int main(void)
      D; P1 p% Y, ]- P
  36. {8 W' c- y" r: x- r$ d- M4 ~
  37.         UARTStdioInit();% C$ q. }& h/ Z, O. L$ f

  38. 4 r1 {: v4 `$ t" k0 g6 D1 N7 l
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    / Z0 P+ P# ^5 _
  40. . s; t4 C; E+ u2 X& \
  41.         UARTprintf("0.StarterWare LED Test\r\n");! G" h  ]- D2 S, l2 o/ m. k
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");4 M( O5 Z% n% j7 G9 ~0 L/ @
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");4 h* _, w+ k+ l+ `$ @% D, y/ J
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");7 R* n1 M  V" V6 a: J

  45. - I; h2 ~4 G% U( w
  46.         UARTprintf("\r\n");$ [- D8 C1 c& O' I, {
  47. % @8 S& c) @  q# x& f! F( ]
  48.         unsigned char val, status = 1;( z; _$ Q1 N; L. h/ |
  49. Choice:5 |, n3 W# ^2 f! L
  50.         val = UARTGetNum();
    1 P8 |7 d4 Y: [3 e7 z* C
  51.         UARTprintf("\r\n");
    9 ~* Y9 b( R0 u( |; o1 V

  52. ; T8 ]! E+ e" u1 _
  53.         switch(val)
    " t% x5 X4 d# r) ]5 M
  54.         {- N$ R- N4 L3 i6 B  p: G
  55.                 case 0: EntryPoint = 0xC1000000; break;
    6 u4 R( Z' A& ]! |  m5 ?, K& a% l
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    3 G* N' J( U6 V. w
  57.                 case 2: EntryPoint = 0xC2000000; break;" u$ ?0 `6 R) M
  58.                 case 3: EntryPoint = 0xC541DEE0; break;7 a9 X* c) t" X) c7 x/ h4 }8 S

  59. 6 l" ~8 O  A& K: o+ e. F" K
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;8 D9 B2 S2 P* r* p
  61.         }
    ( O/ g: X% d" M% L3 f, V
  62.        
    4 j5 J' b5 d; \1 F' r" r1 J( p
  63.         if(status != 0)$ f+ ~! ~5 Z) Z+ e
  64.         {
    , A0 Q( b9 V. K- ?6 o0 M! X0 `
  65.                 UARTprintf("Starting Application ......\n\r\n");
    + @% b: M1 C2 ^" S" w8 H8 F" \
  66. 4 c/ C- @/ N# I* r  ^1 l
  67.                 AppEntry = (void (*)(void))EntryPoint;4 P3 }% T) N( B% ]9 b
  68.                 (*AppEntry)();
    " i' v. D6 q5 Q
  69.         }
    0 \0 m0 W' T* T0 d5 M

  70.   U! D# D7 l& Q- p! M. g
  71.         return 0;: u2 w$ V/ S! t7 B0 z
  72. }
    0 O6 J1 Y6 ?, |6 R( Y
复制代码
9 h& H9 v8 U: A' b9 `3 ]; f

2 \7 Z- R* g) Q" x8 g" R$ ]
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
5 W$ ?1 `3 Q" Z3 {: u) ?# g; h$ i5 h, `; }$ i& ?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-8-3 12:02 , Processed in 0.043295 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表