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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。6 G$ p: I- c* |" ]0 n2 S# T! T% c
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
; t0 h% Z2 a, o  e补充:不能改变工程及文件结构
% w) n* y! c! t, e请各位大神答疑解惑,必感激不尽
$ T! F$ j, M7 x6 r. Y( L) Z

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int007 P% p( ^4 R; g: U2 a

) v: R- K8 Y* t$ J2 Y, p/ N  ]' l* Z. Z
  1. /****************************************************************************/
    8 d0 D1 }% z8 `, s& b
  2. /*                                                                          */3 O9 [( |4 {  D% E/ L* r" ~& ]' T
  3. /*              BootMenu                                                    */
    - w) l. g/ T0 M
  4. /*                                                                          */* @/ ?4 S$ B2 r1 X. I' S, A
  5. /*              2014年11月07日                                              */; s4 C6 i% ^& ?  h& c/ L; n
  6. /*                                                                          */0 c" v8 {. U% y1 `5 y! I: W
  7. /****************************************************************************/
    . l! Y, D- f( A
  8. #include "uartStdio.h"# s5 C+ B* U7 @$ `+ ]" F- l3 Z9 l

  9. + |( c% g# ]% F9 O
  10. /****************************************************************************/% z  O1 }7 @, v% H8 ^( G) S8 x
  11. /*                                                                          */
    : @( W: b) \6 g- ?6 ^* F; e6 P
  12. /*              宏定义                                                      */% _, W! K& d$ E3 `8 Y/ x4 K$ E/ z. D, x
  13. /*                                                                          */8 z6 z5 V* E2 O- P, e- h
  14. /****************************************************************************/" j# w7 [0 c& V
  15. ; _, e( T% {- G* A2 o
  16. /****************************************************************************/8 J$ P; G4 S) c8 Y4 G
  17. /*                                                                          */
    - A" S" c3 \  T& l# v( `
  18. /*              全局变量                                                    */' D1 L. L7 N' _, T# h
  19. /*                                                                          */4 V' ~( F: T% z% B, \
  20. /****************************************************************************/
      ?& P  `9 U0 A) T& D  R& N
  21. unsigned int EntryPoint = 0xC0000000;/ c- q. B2 p% p" u' J9 }
  22. 1 L' ^5 E  o) d% h+ y0 z: D
  23. /****************************************************************************/
    1 A7 j9 w: i; ?0 o7 d) o
  24. /*                                                                          */
    , I) S6 h1 v1 k+ Y6 h1 m1 h
  25. /*              函数声明                                                    */6 c8 ~. m: g. d! A0 }# x  D
  26. /*                                                                          */& P2 f4 K% f# Z7 k% d
  27. /****************************************************************************/
    # y& {/ B1 _5 k9 s# m: S  Z
  28. void (*AppEntry)();
    / u& x" K) r- s  x4 r  @' S0 d
  29. ! `  l/ a. n3 W! ~2 W4 v5 |
  30. /****************************************************************************/2 Z8 ~2 X: [2 q; M1 v9 b% y
  31. /*                                                                          */
    0 l# k) D! ^5 Q6 B6 j! @! o, P2 ^
  32. /*              主函数                                                      */
      \$ z/ |* X+ o$ E
  33. /*                                                                          */& C; e; f2 K  p4 O9 ~$ A$ c
  34. /****************************************************************************/$ k: l& d& x2 J& Q1 e
  35. int main(void)
    , `) l7 d' l9 [/ E% J, r
  36. {
    ' I: r6 N% V: C; M0 u
  37.         UARTStdioInit();
    # ?0 K2 v  i8 s/ m

  38. 9 a/ ~, q4 D7 F2 r
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    . ?. L; q4 d% w% g$ w3 i) X) ^
  40. & C# o/ [1 `# R4 C4 W1 _9 X* c
  41.         UARTprintf("0.StarterWare LED Test\r\n");0 J  t# z7 A7 V% z! }
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    " ~9 _* u3 T' }; X+ m8 _, x
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");6 ]$ _$ Y( X2 C  R
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    5 s; A6 o9 D3 z3 |
  45. 6 `; O9 `( a. ?2 l/ i8 w! B
  46.         UARTprintf("\r\n");- i2 G3 O/ e7 ~/ ?' W: [' f
  47. ( J8 H) A+ Q8 k* g- @
  48.         unsigned char val, status = 1;# x7 B4 X" Z: z& Y- |' {
  49. Choice:
    % \; q& o  l4 ?4 ~5 ^1 j. e' V2 \
  50.         val = UARTGetNum();- I! k& H$ P6 {0 T
  51.         UARTprintf("\r\n");4 ?4 b: N" \7 \' K6 c8 \, m

  52. , a; h1 o! o4 C( v, P
  53.         switch(val); ^; K  R1 m: J8 ~
  54.         {5 D( {- d" w- H, e9 V2 t  N: P
  55.                 case 0: EntryPoint = 0xC1000000; break;% ]% f3 U- n* S; K
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    : U4 s2 A5 p3 ?5 y+ `
  57.                 case 2: EntryPoint = 0xC2000000; break;3 Y3 U2 Z5 M" R  G; j
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    , x: s( ?- w: ~, P0 x% V

  59. % |' b  {9 b$ k5 b: [/ ~9 l
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;9 a1 Y0 Q1 q1 M; j
  61.         }* l$ a. N# {( B# B
  62.         ' Z5 d3 a) k% R; g
  63.         if(status != 0)
    - M- n9 H( b5 }7 E& c7 N
  64.         {
    5 ?- ?  A8 Q, ?
  65.                 UARTprintf("Starting Application ......\n\r\n");
    - b- Z4 ?* a! {$ }, I( k+ p

  66. 9 H- T# _+ l2 @  X& K0 l
  67.                 AppEntry = (void (*)(void))EntryPoint;
      a% X1 x3 g$ a2 D
  68.                 (*AppEntry)();  k2 F3 H$ K$ H1 U/ ^( v& S! P
  69.         }, _4 {2 p& L. F
  70. , [! l8 ?# Z$ D" x( {: j
  71.         return 0;
    0 r& P! H* ~' f! T/ z
  72. }
    " k% `1 {0 p! w# Z0 |
复制代码

, y7 L2 Z# M: t# V  z6 L/ S8 H/ R9 P# g2 G6 O+ B
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
& x( J( r0 L' a9 Q9 J) z  y* d8 J4 a5 _& Q5 J) f

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 12:15 , Processed in 0.042230 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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