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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
* b/ j, {2 i9 j1 Z2 }问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
1 o9 j! ]- P; U# L( _5 f: M% Z$ ]' L补充:不能改变工程及文件结构
, f, l% W/ E  \. W请各位大神答疑解惑,必感激不尽
6 Q; m( F! f  O; |0 m# K

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
" `( ^$ j8 ~4 j* j/ q) z' {
) G, r  H# }6 [: x$ O+ V$ Q9 k
  1. /****************************************************************************/5 M1 {4 e# S) M: Z8 i
  2. /*                                                                          */; z# V9 K/ Q3 g3 Z
  3. /*              BootMenu                                                    */
    . J* a6 v2 Z- B! N
  4. /*                                                                          */# E3 Y& e1 ^  X
  5. /*              2014年11月07日                                              */
    # w' F4 t+ P$ O: U, H
  6. /*                                                                          */
    1 T. x4 O! u( m/ U' Y+ m' g  M& t
  7. /****************************************************************************/: ^3 G8 m* d  h5 Z
  8. #include "uartStdio.h"
    / o% f* z# h& A% U

  9. / W/ |2 a! ?# k) g! o7 ^7 i
  10. /****************************************************************************/$ F1 \$ w; l1 e: q! N
  11. /*                                                                          */" ^( }$ D2 Y( n$ {- N7 Y# l
  12. /*              宏定义                                                      */
    * k/ v+ b; \6 b, n. r
  13. /*                                                                          */7 y! J; X3 b. a" N
  14. /****************************************************************************/
      p1 e7 S8 I; @  m

  15. ' |& x/ Y4 O$ ?6 \0 k! L( n
  16. /****************************************************************************/
    9 Z, a$ s. W* N1 m$ y
  17. /*                                                                          */
    4 M- C9 L& ^* _3 K; m
  18. /*              全局变量                                                    */
    7 M8 t7 o2 {) j! M! C
  19. /*                                                                          */
    4 y# u6 |8 H2 G* a& q6 k
  20. /****************************************************************************/; h; h3 z3 F: Q' L$ {2 Q
  21. unsigned int EntryPoint = 0xC0000000;
    ) N% d/ z* ^/ s5 c) @# p
  22. ! ]0 ^7 f! d% J4 u3 `# g! \' D
  23. /****************************************************************************/
      C- i& y; K4 [# [' C
  24. /*                                                                          */
    " ^5 y3 G, N5 Y3 p7 E
  25. /*              函数声明                                                    */% ?2 s: C* n. t) |/ V
  26. /*                                                                          */4 K5 k$ V& {* H& `( U
  27. /****************************************************************************/; |+ F# W* p% a$ S4 s
  28. void (*AppEntry)();
    4 u$ I: I. s  ~6 D0 x1 S
  29. & U; L" w! B* i5 N, T
  30. /****************************************************************************/8 @  z8 X; _- W2 b/ O. T9 F
  31. /*                                                                          */
    , c7 M9 v8 r  m1 }5 N- u
  32. /*              主函数                                                      */
    . R0 y* m2 C! q1 U: J8 m
  33. /*                                                                          */+ j% m% q% d! a/ a% ~
  34. /****************************************************************************/$ l3 @4 z$ s; B9 H  W7 e( l  y& _
  35. int main(void)- q$ |8 j  R% h$ O' R
  36. {
    * ?2 n4 V/ W) l$ A: x
  37.         UARTStdioInit();
    1 L# o0 [/ t6 z# B6 B/ O" U8 O

  38. 9 x9 k0 a& `4 f8 f2 S1 V, k
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");( g( \' K( Q/ Y
  40. 1 a% o+ j1 F+ c7 K
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    * I: ~# K# [& G: q
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");9 }) }3 e6 T* P, N% S
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    5 A5 ~# I) F8 A3 y' l
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");) ~! _# A- `( X$ Y1 r. x) [

  45. ; c& E* K& z9 O# ~* J* j; F' p
  46.         UARTprintf("\r\n");
    : ~+ `( h. u5 S
  47. 1 f7 x2 U2 G7 P# S# s/ A5 f
  48.         unsigned char val, status = 1;0 F7 r8 m5 U( u3 H
  49. Choice:9 I: f( N/ W+ [5 z4 w- A
  50.         val = UARTGetNum();7 f- o5 ~; L/ I
  51.         UARTprintf("\r\n");' B0 d; e: E/ x6 w' ^0 R
  52. 0 n9 _: }( g, a& I3 @5 P8 I$ ^; q, o
  53.         switch(val)% S' i9 G/ w/ p( S9 }
  54.         {
    3 {+ j* o+ {' Q3 v! p  k
  55.                 case 0: EntryPoint = 0xC1000000; break;
    8 l- p0 F3 X4 D: h+ H. N& g
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    : z: x; o' k1 {7 j6 T6 D8 D: O3 o( S
  57.                 case 2: EntryPoint = 0xC2000000; break;2 C  S8 b* z' |" `* `" y
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    ) f$ z! R) i/ X  A7 N6 L7 E# e

  59. , {2 J& m$ Z- e4 s
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    8 u! t/ W* E  D, D6 ?/ h
  61.         }( b* Y9 G7 Y7 C! }' o$ K5 ^
  62.         4 H% G! q* f3 {: H, U4 P2 m
  63.         if(status != 0)
    8 C: |. M0 q9 c6 d9 ~# e. a6 n0 W
  64.         {
    ! t8 B& l$ \# E
  65.                 UARTprintf("Starting Application ......\n\r\n");& B- w) p  H' V" A; E* S8 X

  66. - D% s8 {" W' l/ s3 p8 \5 _! p* F( j
  67.                 AppEntry = (void (*)(void))EntryPoint;* S0 V8 W' x8 ~, Y
  68.                 (*AppEntry)();* u& P2 B, Z! O0 w  c+ g
  69.         }
    8 w8 o* ~3 \5 O. y9 u6 V

  70.   T+ W/ m; @& R/ n, ~- Q
  71.         return 0;9 q  R% [2 y: D% y5 v2 j
  72. }
      G7 h! ?7 @6 E8 z
复制代码

' o2 }' C. U% X/ u' n: R6 @! Z9 n# D9 l
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了+ V# m. j/ z0 }( r) `

0 y( J* s( U9 j) `! Z1 P

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 02:15 , Processed in 0.039353 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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