多个独立程序之间跳转问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。1 ~( s) j  B/ W+ v3 f2 w+ y  n- w: i
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?" T: U) u: l. |$ n
补充:不能改变工程及文件结构
, S  l  I. g6 U0 b) F; j请各位大神答疑解惑,必感激不尽
! W& L! b. O. x5 z% x3 w: |

本帖子中包含更多资源

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

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

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
! S7 o. i7 j( d& j/ {8 l& p# v# _  y; H

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
+ y/ h6 b9 G+ p0 q: l
1 ?* a* B: c7 s( b( u1 g
  1. /****************************************************************************/
    + c' S' H: p' E, m2 S
  2. /*                                                                          */
    1 C& j( e4 h- j: z
  3. /*              BootMenu                                                    */
    ' v8 O2 F$ V2 A. S9 Z
  4. /*                                                                          */
    6 f7 U; r3 Z* B% ~
  5. /*              2014年11月07日                                              */( }, v6 u- F1 u. `' Q; {% ?" ?
  6. /*                                                                          */1 P& v$ x4 J  q; R
  7. /****************************************************************************/$ `+ U' \# X, w
  8. #include "uartStdio.h": S+ g, |  u9 s; I' n/ s

  9. $ E8 C; L: `8 [% w1 B- @% g' |
  10. /****************************************************************************/* a# F' [5 m8 s# x$ y
  11. /*                                                                          */2 x$ ?$ o& V9 Q' w- |/ e$ O
  12. /*              宏定义                                                      */4 \. L2 ^3 Q3 Q" y( v. r8 X
  13. /*                                                                          */
    7 @7 u$ E5 W: j$ X+ M4 `
  14. /****************************************************************************/
      s' k+ o* v/ n" C0 n

  15. 9 Y) Z7 I7 R! t3 O+ T
  16. /****************************************************************************/
    9 _6 P. a' r9 y" Z
  17. /*                                                                          */* s7 S, Q- N- ]# w+ T
  18. /*              全局变量                                                    */
    ) H) l) |& k) S% u: D8 ^
  19. /*                                                                          */
    # h1 V# i3 Z6 y, H6 A
  20. /****************************************************************************/
    / ^3 c, P# B. X( s% f
  21. unsigned int EntryPoint = 0xC0000000;) Z9 O" v. l4 X( K4 u

  22. , ^. [; h8 v0 Q$ G8 i& T
  23. /****************************************************************************/
    ' v5 Z) x& [! Y$ o  F
  24. /*                                                                          */  |' O( V8 P4 q% r) w- z5 C
  25. /*              函数声明                                                    */
    + y, O3 N" z( S$ ]
  26. /*                                                                          */
    " Q- v% v' Y, @) h4 w; I" I
  27. /****************************************************************************/2 i5 V) M, I0 D' O4 H
  28. void (*AppEntry)();  p" @1 t% h8 [* I- \6 M/ p
  29. ( Y% f7 o9 e+ r3 u  l0 R8 r- A
  30. /****************************************************************************/
    5 T  O) m) N2 z% s: S
  31. /*                                                                          */
    - @) C! p0 _# l8 [2 }
  32. /*              主函数                                                      *// [$ ]% Y. z9 @  j+ y% R4 b
  33. /*                                                                          */9 n7 {. Z" g4 L. Y; e' ^8 x4 t, L
  34. /****************************************************************************/) C# Y, \0 [5 ^' M$ Y
  35. int main(void)" e$ D( w2 a: |- C0 ?+ |
  36. {
    + v8 ^" m4 c& i! A: K' k
  37.         UARTStdioInit();! F$ a$ ]1 G7 D" ~$ K6 Q

  38. & H. [& e) m1 l: V& K9 a
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    0 i0 ]# v6 q6 u1 q$ l2 Q

  40. : l0 m% U5 f  e/ ~) F! B: }
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    5 _/ p% b" ~2 D9 N' b. s2 m
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");. g( D4 K, e0 l- I+ N. N! J
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    + O& {$ w% E% @, o' \8 I7 x
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");1 ?6 z8 o. |! {/ S+ z

  45. , c6 U3 U  C; r/ E( Y2 `& Y' t
  46.         UARTprintf("\r\n");, J; d8 L% O6 Z/ }
  47. 5 u3 l" u3 g9 v, G0 Z  G
  48.         unsigned char val, status = 1;
    4 l, d+ R& U- l+ x0 L
  49. Choice:
    1 P8 L1 K- }: j/ @
  50.         val = UARTGetNum();; V" J3 A% y5 E4 z5 [% K9 _
  51.         UARTprintf("\r\n");" F' b6 Y: n6 [; J' c( M) }

  52. ( y* W7 X: k! w( e
  53.         switch(val)
    , X7 {; u8 a* u8 J/ z8 ~
  54.         {* x$ f( b& `+ q9 ^
  55.                 case 0: EntryPoint = 0xC1000000; break;
    ! F' J) U! r5 Q/ K0 \
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ) z- q+ {6 Z+ O$ E' L7 U9 m: j/ k
  57.                 case 2: EntryPoint = 0xC2000000; break;! R' Z( x# F5 j6 H
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    7 w& Z9 M1 r8 a
  59. . q" o9 g) d6 ?2 }1 z" }% o: |
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;3 D& A: h, d* W2 y
  61.         }
    , r# }3 m! ]3 B  @7 T% l
  62.        
    4 d6 E0 }, ^6 y; n( C! }
  63.         if(status != 0)
    3 ?# E8 W! W0 T* C* e) `
  64.         {9 p3 G# v" @3 W  X
  65.                 UARTprintf("Starting Application ......\n\r\n");7 J* {3 p$ |7 z" Y  D) c% f  B

  66. . {! P! n: e6 I- e* p
  67.                 AppEntry = (void (*)(void))EntryPoint;: d2 H' c  V" U6 W! t
  68.                 (*AppEntry)();
    - N( D+ K- P; g
  69.         }  g8 a0 `/ d3 o  r0 O& L$ C
  70. ; U7 y9 Z2 `7 a3 X
  71.         return 0;
    7 Z: b3 l( m" a0 b, z3 z! x
  72. }
      G6 v; A/ ~9 v* |6 O* O6 L) A% Y
复制代码

. B8 j& P8 H1 Y. ~8 a
3 d) b0 ~$ g: d4 N: ?& \
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 10:42 , Processed in 0.040124 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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