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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。, j2 I8 _6 e! {/ Y, ^) Y  N
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
% F- Q: H' y" A5 {3 q3 l( z  I* Q补充:不能改变工程及文件结构
2 }" b! \9 m7 @4 l5 R请各位大神答疑解惑,必感激不尽7 _! }! P& l3 w. Y' M

本帖子中包含更多资源

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

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

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了$ G2 E1 n; [; Y% |$ e- V. ^2 v

3 k# j9 ]3 X. |7 Z: n- k% {

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
# T* r/ d/ f5 e7 t, V+ E5 T7 v( Y$ N; u% c
  1. /****************************************************************************/
    $ u$ c5 R* J4 Y$ l& j! Y' r
  2. /*                                                                          */% U1 @: c. I. y5 `% k3 e  V1 G$ y. v
  3. /*              BootMenu                                                    */
    : P8 h+ f7 C" o" _5 t" L
  4. /*                                                                          */* D7 n2 ^  X, y0 Q
  5. /*              2014年11月07日                                              */1 [, }( w, }5 z5 P5 [- d
  6. /*                                                                          */
    2 n7 \  x& R# ]+ V( }. o( C; `
  7. /****************************************************************************/8 o  p& F9 d2 [9 Y
  8. #include "uartStdio.h". \9 G; y5 s& \8 ^4 [( x& L. j* m
  9. ; d7 a- h* g! M6 R, k
  10. /****************************************************************************/
    3 i1 G- V: O, N) u
  11. /*                                                                          */% _4 R, M6 X- |3 E
  12. /*              宏定义                                                      */, t$ K, u4 R) b
  13. /*                                                                          */
    3 X+ ?) }  u( Z' c5 y- O1 f
  14. /****************************************************************************/
    4 ]: y7 D' y1 [$ U
  15. 6 P  o5 j% R8 O$ U! d
  16. /****************************************************************************/
    . [) k7 R% `% d0 r. _4 Y
  17. /*                                                                          */
    ( J' @1 v" [: t: b
  18. /*              全局变量                                                    */
    1 n  T* Y0 v$ Y/ d
  19. /*                                                                          */4 {& u5 h+ M+ X
  20. /****************************************************************************/0 ^& I- n$ K' M+ t
  21. unsigned int EntryPoint = 0xC0000000;+ P' N  c6 \/ R# f9 L

  22. 2 G9 w4 W+ [: ?$ s$ P& r3 C- M
  23. /****************************************************************************/; ^( M/ C% V, ?3 C5 R; m0 G1 ~: }
  24. /*                                                                          */
    . `8 b$ H' b2 V6 y' B- p7 B
  25. /*              函数声明                                                    */
    4 n# M5 d6 j; E# V$ F, o
  26. /*                                                                          */3 A! n* N- N( K1 ^/ M% ?
  27. /****************************************************************************/
    + \. F' c( ^' g5 `" w
  28. void (*AppEntry)();
    : S+ O0 S/ a! g8 r& [

  29. ! H; x( X8 C2 L* `' P
  30. /****************************************************************************/) s5 L8 B1 D5 `' i0 T) k, I5 N/ v
  31. /*                                                                          */3 x" |6 M9 }0 D3 Z& y' p
  32. /*              主函数                                                      */$ h( u- q5 n7 ^9 Q
  33. /*                                                                          */
    ; M% i; i0 b% i4 c
  34. /****************************************************************************/- V: g* g  Q) k5 L3 |& N
  35. int main(void). ~! A9 F% T0 F1 k) }9 {
  36. {8 l1 o5 W" `) [) e# q& b
  37.         UARTStdioInit();# |6 _3 j5 P$ [) M  b) k9 p$ z

  38. 5 {6 r( X( x0 B* ?: p' ]/ @/ s
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    9 W/ k1 ^6 Y7 V$ F/ J. V9 A

  40. 5 M5 d5 D. u- u( A/ R2 n
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    % l+ O& E! l% W. i7 ?" v* U6 e
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");6 H2 @% P! x/ E+ ], X
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");  u0 U8 p, c  S
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");0 L: e2 V1 ]+ z5 |$ ^8 e: A, |) q

  45. & I! d# K0 [) [# b
  46.         UARTprintf("\r\n");
    7 ?2 ?1 X4 Y- F) O4 r5 t6 l+ o" K+ p
  47. % ^7 W0 }& r& W& \4 e% R2 d4 ~
  48.         unsigned char val, status = 1;
    . S9 j! l; r) J6 J" m, ], e; x
  49. Choice:
    ' @0 p' I+ n8 h# I! a
  50.         val = UARTGetNum();, Q& X# V6 G- C* l9 L! h( x1 ^& w* g, F
  51.         UARTprintf("\r\n");1 A+ z* O0 _' v, y$ d2 X, F  T
  52.   R( L' m4 {, W& M5 J: B6 {
  53.         switch(val)$ g$ w3 s6 |) l0 M5 w$ H
  54.         {
    + m, X- Q, Z: d; m
  55.                 case 0: EntryPoint = 0xC1000000; break;
    + W, t5 u5 |$ i4 h+ c
  56.                 case 1: EntryPoint = 0xC0251FE0; break;! K) ^9 s* D; ?3 P' u5 k
  57.                 case 2: EntryPoint = 0xC2000000; break;
    9 M( {* Q- i0 O$ r1 w& G
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    4 o& d- h. H* O
  59. ! O, g9 k" P9 L2 ~! M! Y
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;7 z7 T6 ]9 n/ f& S: E
  61.         }
    ! d& |% T9 A! j
  62.         ) }* C% `& S. E1 O3 G+ w2 c& B
  63.         if(status != 0)* a0 X3 U2 L/ K$ w
  64.         {  O: h8 ~8 {, I9 u4 ^* G) |
  65.                 UARTprintf("Starting Application ......\n\r\n");6 s3 U& ]( S1 c, M2 _

  66.   R8 x. t; X5 g7 J+ {$ N2 s, s& c
  67.                 AppEntry = (void (*)(void))EntryPoint;: j: H) i; S* n7 f! J
  68.                 (*AppEntry)();2 y" K; I4 I$ Q$ f! G% D% Y1 U
  69.         }
    ! ?' ~5 L" N+ o
  70. ' Y5 T3 D2 |% k# P. I% w+ @9 `' |* r0 b! H
  71.         return 0;
    1 P2 @1 k% \, A
  72. }7 U( w/ }, K0 N
复制代码
' k! c) n8 u4 c
7 F9 L$ R$ G5 w; {
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 03:08 , Processed in 0.038981 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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