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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。6 f0 V" e- a/ u' _; e4 u
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
: _3 P! ]2 D  D# z2 A补充:不能改变工程及文件结构; a) n, i- _; ?! \  f
请各位大神答疑解惑,必感激不尽
3 B  U" ]6 ]* {; l/ y3 A

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
" U5 h- N3 T4 |/ a. i! k$ c9 w
& [5 k3 {. }( E  D' ], ~4 K
  1. /****************************************************************************/3 l* u# S2 N3 n& H2 r' c
  2. /*                                                                          */% }2 g/ D% a+ R- L& z/ d
  3. /*              BootMenu                                                    */
    ( p  d# F  \# R8 V, ~
  4. /*                                                                          */9 p9 p- _" o, h% R
  5. /*              2014年11月07日                                              */3 R& a0 d7 W, ?% j6 J( e
  6. /*                                                                          */
    1 A  r* f! d$ w! H6 a9 Y$ c% ~0 ~
  7. /****************************************************************************/
    ' C' y; \' ^+ P8 O
  8. #include "uartStdio.h"
    : P0 F4 @& j( u+ E* n, b

  9. 5 A9 z) p5 R+ |! n* G" d. ]. s( W& h
  10. /****************************************************************************/
    & ]% A( T3 L  K* |6 E- Q! t
  11. /*                                                                          */
    8 {4 ^& ~1 G5 ^, s& \
  12. /*              宏定义                                                      */
    $ }2 d* S! h; p& M
  13. /*                                                                          */
    " k) S' w1 y  X5 a$ x1 u
  14. /****************************************************************************/3 V+ Z5 M$ J0 f+ _, T
  15. ) C% s+ D: O/ l1 @! `1 ?
  16. /****************************************************************************/! B5 U% a. l0 s! x/ y" E
  17. /*                                                                          */
    ( z# d* {! n0 K0 F4 [$ p" w
  18. /*              全局变量                                                    */
    ) V# }. P, u( R/ b
  19. /*                                                                          *// n( [1 I- c+ x0 D( s" q
  20. /****************************************************************************/
    ( @+ j% [2 U, ^  e# J: B3 K
  21. unsigned int EntryPoint = 0xC0000000;
    " m% b' f3 x+ X  H5 U
  22. 0 l4 _  f! i7 D( I( G1 ~
  23. /****************************************************************************/
    ! [- b; d2 y; ~1 Y0 l9 W
  24. /*                                                                          */
    $ i4 S  ^. f, O* E0 o( l4 S+ l
  25. /*              函数声明                                                    */% ^7 V0 D: R# P7 L2 x7 M8 X/ N
  26. /*                                                                          */8 {: e% d- P1 z$ I% [! O3 Q
  27. /****************************************************************************/
    3 y: `0 Z0 p8 d' W
  28. void (*AppEntry)();; U. C1 {, P3 R1 m. W& M; ^+ V

  29. & q. g+ B& [% K) V. u  O
  30. /****************************************************************************/
    & H6 T9 g  v5 y' `
  31. /*                                                                          */
    3 f: Y; @: W3 P" d1 j7 R
  32. /*              主函数                                                      */& k" [, U% z0 g
  33. /*                                                                          */1 o* y; Z, `8 o- F" e
  34. /****************************************************************************/
    : G; \- U5 Z5 A1 P* f
  35. int main(void): G. n0 w# d0 y5 B1 S
  36. {
    % K) t6 h  s% N3 c
  37.         UARTStdioInit();
    + M% a' ^. u; w, ?: N
  38. 5 O% O4 K4 N1 a! Y
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    0 w' a9 ]; j0 x0 v9 F% \6 |& \' C

  40. " c5 m  |, b. G! i3 Y& a; L
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    ! T. ?: E7 k" }2 {7 u
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");# d$ D* c) y9 E. E7 r2 m# Q$ Q
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");. X3 |6 E: j9 q9 i6 W( h
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    ( J5 V" o9 x2 y0 g; Q: @8 \
  45. : s% _6 `9 E$ n5 K& T& H: T) G
  46.         UARTprintf("\r\n");( R; y. F9 h; m; e; T0 [8 h1 ~
  47. ( ?1 R3 [$ t) a9 Q- `; S! J. {
  48.         unsigned char val, status = 1;. \' S# i  H5 g! ?5 {: a
  49. Choice:8 T0 K1 ^# H- n
  50.         val = UARTGetNum();7 d3 }2 A& [  X8 F& D0 `
  51.         UARTprintf("\r\n");( n$ d5 d7 ~" q) X+ X' V; W  A

  52. 9 |3 N3 M4 A, [  F2 X/ u
  53.         switch(val)' P4 l  P9 S( ~
  54.         {
    ! l9 v% r4 N5 ^" n6 e
  55.                 case 0: EntryPoint = 0xC1000000; break;, ?6 N) _# S" f+ Y: [4 E
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ( @/ {% u+ `1 K' B; J
  57.                 case 2: EntryPoint = 0xC2000000; break;7 y: h- \# D2 F, i; @# t
  58.                 case 3: EntryPoint = 0xC541DEE0; break;0 Q( O/ p  m7 J% a/ \& I, X! z
  59. ' z* ]6 m* Z) `% Z( M! v! v0 }
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    1 ^7 d& \7 M$ L
  61.         }  I: E- Z9 R4 j4 H) |
  62.        
    + k0 A% m) i4 Z
  63.         if(status != 0)$ H7 x3 z5 u8 m. y- Z0 e
  64.         {/ [; Z$ T7 }: d& ]$ x$ @
  65.                 UARTprintf("Starting Application ......\n\r\n");. m9 v: }: R+ A  C
  66. ; S& h% s7 b) x
  67.                 AppEntry = (void (*)(void))EntryPoint;
    - S5 y8 Z! C, m* O% d  ], Q! E' }
  68.                 (*AppEntry)();
    0 S. ]  c; y. d7 o  y5 ^
  69.         }2 }0 R0 q! l4 m' Y# w
  70. , F2 P. ?/ f% T4 W1 y
  71.         return 0;* f  t, t# D+ ~# J5 D
  72. }
    ' F* f; t% K; G4 ]9 ~  g
复制代码

4 {1 a5 W# [1 R" `$ Q  q! Z( x; \" }% I# w
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
2 S7 |9 n  f" e) W4 o  A$ Z2 ^% K9 ^3 d8 c$ \3 [( f2 J

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 05:07 , Processed in 0.042171 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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