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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。$ ~2 g! }. R9 R2 s9 T- Y
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
5 J* |' g1 ^3 l/ k. U补充:不能改变工程及文件结构
1 I4 \0 l8 _" }请各位大神答疑解惑,必感激不尽' G1 p! e$ X1 N! b3 I# Q

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00+ R) R& I- Y. U3 y' f

6 I. u. c4 z% d' V
  1. /****************************************************************************/+ W* n0 p0 h, x# n) q) ]$ b
  2. /*                                                                          */
      ?6 ^  `9 o  ]' q( J, R
  3. /*              BootMenu                                                    */
    % I) L) W, r- a2 ~9 Z
  4. /*                                                                          */
      }$ I# X7 [% M  T$ q! c$ t
  5. /*              2014年11月07日                                              */
    6 ~: j- f3 p3 t1 ]) \
  6. /*                                                                          *// n; B- M- |! y5 Y
  7. /****************************************************************************/
    $ }5 i. m+ e8 l4 D9 y3 A; Z
  8. #include "uartStdio.h"% e" s& H; D, }! ]
  9. & L4 `6 }( X7 U% |& m3 ~
  10. /****************************************************************************/
    $ N3 R% Z1 c2 [- T- _' X& T
  11. /*                                                                          */# A- p# P. L- w& l6 U. Y# p
  12. /*              宏定义                                                      */4 M  o0 ^5 y  e+ y
  13. /*                                                                          */' S( i; O& B8 f; J# d
  14. /****************************************************************************/2 k9 V6 K$ n+ V. Q! ^
  15. " [8 `0 D6 o0 h8 Y7 r* T; Y
  16. /****************************************************************************/
    7 R. z: ~& w2 j0 @1 `# W1 ]
  17. /*                                                                          */
    * z, p, f! w6 @: t3 c9 N+ I
  18. /*              全局变量                                                    */
    % m: c( ~! }1 ?3 q( \0 W
  19. /*                                                                          */
    / c. o8 o- S- A" X: J5 b( k
  20. /****************************************************************************/0 o: m7 h1 \  A" Y; M6 t; `! u, x/ P% E
  21. unsigned int EntryPoint = 0xC0000000;# K+ Y, T( a1 w7 o: X# Z

  22. / {8 r  v4 t& ]2 h5 F# G" Z( L+ K7 Y
  23. /****************************************************************************/1 M* u3 z+ S$ |8 I
  24. /*                                                                          */; Z3 U( a6 l% i& Y" q* J
  25. /*              函数声明                                                    */1 X" B' }) y5 ~/ T/ H1 M; e+ i$ m
  26. /*                                                                          */
    : C; k0 t; V, J* W0 j1 D1 i
  27. /****************************************************************************/
    " p7 q: U0 H) R' g; w
  28. void (*AppEntry)();' p. I5 m, N- `$ |
  29. 2 I9 s  i9 D3 ?2 Y, S5 a
  30. /****************************************************************************/
    - c5 c3 \- G: k% B% i
  31. /*                                                                          */. O" n7 P* t) I4 S) t* g  X- _
  32. /*              主函数                                                      */2 t; L/ w! b/ z/ G) ]
  33. /*                                                                          */9 R* V- [- h) K6 M% b$ s8 c( o
  34. /****************************************************************************// L1 Z& I# Z8 P  N8 j8 A& @
  35. int main(void)
    ; K% c$ P1 O; g8 d5 i4 j2 u6 I& v
  36. {
    * b5 |& c2 f; l$ v0 _
  37.         UARTStdioInit();( L7 l1 N- ^8 R  T% k

  38. ) @, A7 S: _5 N
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    - D, u2 l5 s& ]- ~
  40.   E0 _+ J+ V) s7 O+ |( C
  41.         UARTprintf("0.StarterWare LED Test\r\n");3 u* v- z" ?' _4 A6 b
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    9 E& H. Z  H! x
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");7 a( @7 ?+ ?; n+ o& A& w/ \0 Z
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");+ o6 M0 y+ a* E! b1 X

  45. " h( ^; j  y- Z+ ?
  46.         UARTprintf("\r\n");) Q" \6 m& D+ w9 O/ v- M
  47. * v: S* e8 ?# G9 W
  48.         unsigned char val, status = 1;7 a" o; @9 h9 U% D
  49. Choice:2 u* l/ Q9 u$ Q7 Y' y
  50.         val = UARTGetNum();7 F8 ?) `+ J$ }1 d4 _  ~
  51.         UARTprintf("\r\n");
    ' N: s: }7 \: O

  52. 4 [! e4 s2 V: c' d& @
  53.         switch(val)  l) a, h  Y" S4 T: u9 I/ P
  54.         {
    $ n6 y# z& F) i! V( c4 g
  55.                 case 0: EntryPoint = 0xC1000000; break;
    8 H6 S* j. Y8 H" G. ?6 e9 T2 J
  56.                 case 1: EntryPoint = 0xC0251FE0; break;) g1 r$ f( \% C
  57.                 case 2: EntryPoint = 0xC2000000; break;/ O9 @# @9 B% U4 B1 s9 R" X
  58.                 case 3: EntryPoint = 0xC541DEE0; break;9 ]% E" D' Z- W0 X  X

  59. # T8 t. j6 ]" f, B1 \
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;* i. T4 P" P) P$ C& G
  61.         }: d3 c. E* J" Z+ v
  62.        
    ' _5 G4 g$ s9 T7 J1 d
  63.         if(status != 0)
      l8 S/ p6 }/ h9 U
  64.         {" c9 `: j5 \1 J3 D
  65.                 UARTprintf("Starting Application ......\n\r\n");
    2 ^4 }4 ]. I4 D% K

  66. ; V* z2 `4 m9 f' h. K# z) G
  67.                 AppEntry = (void (*)(void))EntryPoint;
    6 q+ D' G7 @0 [" e7 W
  68.                 (*AppEntry)();
    ) ]0 m* }4 j  l, A$ V* Q- x
  69.         }% e; q' _8 d- b6 F; _4 Y: I
  70. # l/ ~: s3 k, r- J2 I) v) @
  71.         return 0;
    4 J8 b7 U* M' u, I4 }! @
  72. }5 w7 {; f+ v- D  U* v6 t
复制代码
4 L( W* f! n) p' I& l/ S

1 O1 D/ V0 ^, I, i5 B0 k6 Y7 ~
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
' o' {2 O" i- `; d1 ^7 f3 Z" ?& u: J* W' C

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 16:45 , Processed in 0.043782 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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