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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。6 w# ?8 o  }6 L/ Y1 K
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?" i& E# |. w! L2 J4 C
补充:不能改变工程及文件结构
0 L: Y$ W4 B# x6 k请各位大神答疑解惑,必感激不尽
" q2 r0 N' {% K2 q6 t; T% s% D

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
2 [. t9 Z1 `$ Z: D
* w9 P7 C9 k9 }' J0 m5 |
  1. /****************************************************************************/$ o* k+ }) S9 C2 W6 ~) d
  2. /*                                                                          */
    7 J0 w9 v9 @# S. J! c
  3. /*              BootMenu                                                    */
    : m% f5 K- W1 `$ F$ m5 L! o+ n/ _
  4. /*                                                                          */
    ( O  [1 k9 S& x; m; n( [
  5. /*              2014年11月07日                                              */+ C, L! o- E* X+ h3 b9 A) ~* G
  6. /*                                                                          */
    3 i: \" n$ o* I0 }
  7. /****************************************************************************/
    # c- [3 C4 ^# @$ ^5 W# ?; i
  8. #include "uartStdio.h"4 u* G! x) G( _  u* S5 M) V

  9. " @' b  Q) J# U; i( o  `
  10. /****************************************************************************/. l6 y( A$ T- d! X! f
  11. /*                                                                          */8 d! X. {+ D- E5 T9 P
  12. /*              宏定义                                                      *// r" T1 d1 t* H
  13. /*                                                                          */8 N. {5 Z- B, C- h! E+ y- M
  14. /****************************************************************************/
    ' c  ^6 W4 j8 Z, J$ ]+ i+ R; @
  15. + s* U/ `! f7 n* F. u* @
  16. /****************************************************************************/! x4 F9 {, L, {3 {$ j
  17. /*                                                                          */
    5 N) n3 @1 u+ Q, A
  18. /*              全局变量                                                    */$ s: j6 H2 p2 T% n& q( T
  19. /*                                                                          */
    . |. l& `7 F1 i3 U/ \" l# P, I
  20. /****************************************************************************/
    ; ?( t% @  I; s% a& }
  21. unsigned int EntryPoint = 0xC0000000;$ n3 X* `, \$ R$ x" b2 q* \
  22. , `4 T9 {- L; x& }0 s8 [
  23. /****************************************************************************/# A% ^1 y7 F# P
  24. /*                                                                          */
    + V3 I% r* o' X/ Z& H. Q3 G
  25. /*              函数声明                                                    */
    7 O0 C2 ]. c4 {
  26. /*                                                                          */
    6 t) W3 L& B2 r
  27. /****************************************************************************/, R7 _& h) ^- a4 d, S
  28. void (*AppEntry)();
    ( O3 ]& K" b/ _, t% E

  29. ) K0 q2 y% v! _% ^! z* D* A
  30. /****************************************************************************/
    # y, ^' O! x$ N( \$ ~7 k
  31. /*                                                                          */
    3 L& }. }$ f& C! z7 u5 V5 P' D
  32. /*              主函数                                                      */
    1 ?6 O0 Z) @( y: b
  33. /*                                                                          */
    & x$ |* q9 p$ f% ?) I$ H
  34. /****************************************************************************/' C) r* A8 g/ j3 j  z; l3 n; q
  35. int main(void)
    : Y5 e0 l+ a" \- e" [  m9 X
  36. {
    & R3 w0 E  w4 z$ w7 F% @5 g
  37.         UARTStdioInit();
    3 d  N: M- `1 P2 k" W

  38. - @& F  _) Z: r$ Q7 C4 k# g0 O* P
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");& z( C$ {  m$ o* L

  40. 0 {5 W" D! j$ s( j8 n! B2 B
  41.         UARTprintf("0.StarterWare LED Test\r\n");1 u4 b% r5 C4 _9 ?
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    % m) F7 l5 {) s" z4 i. b' w
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");. v1 h4 ]6 t! }1 E! f: P. c- B
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    ; `7 `) l$ V. L# x
  45. ) Z+ m# `) _; l
  46.         UARTprintf("\r\n");5 T$ l1 P* w' Z. Z4 e2 K8 m

  47. ; Z1 z3 e0 U8 D& }7 H
  48.         unsigned char val, status = 1;6 v5 _0 C" t# P) @
  49. Choice:
    2 \  e( A4 P8 z
  50.         val = UARTGetNum();7 I) ^# h4 k4 v
  51.         UARTprintf("\r\n");" v9 ?, k+ k1 C
  52. , G, v5 D# `5 a
  53.         switch(val)0 I0 ^; e6 W5 ^3 _1 `! Y: d- ^
  54.         {
    4 K) k# z# }8 c7 H, k( X% Q: w
  55.                 case 0: EntryPoint = 0xC1000000; break;
    / D- c* W7 S: ]% a5 P
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ( \0 b7 M; j/ `( H8 {
  57.                 case 2: EntryPoint = 0xC2000000; break;) z8 d( y; O/ d2 L7 M
  58.                 case 3: EntryPoint = 0xC541DEE0; break;9 ~- ~; U( R: ^
  59. $ r- `( ~7 E/ m
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;# x8 {8 {( L- l! F1 F
  61.         }
    & R. ^4 h; l! Y! }6 @
  62.        
    ' }6 A5 ^+ B' X% ]/ v2 l% w
  63.         if(status != 0)3 j4 U5 c- Z6 x; a* s: ]' J
  64.         {
    0 g* T. e' I  o' d. T, ^! u" [: a
  65.                 UARTprintf("Starting Application ......\n\r\n");
    # i1 |1 M" G* c# N$ f
  66. 4 v6 o3 Y5 T6 a" H9 R
  67.                 AppEntry = (void (*)(void))EntryPoint;5 B0 a8 [; L% D% Z
  68.                 (*AppEntry)();
    / f0 j0 s/ E0 {) f
  69.         }+ [# ?( ]$ e; @( L1 k& W' N0 r1 ~1 Z
  70. : A' p: n+ N' P$ k7 C6 K1 f
  71.         return 0;
    3 b) {3 n0 o* \: g* R
  72. }
    - F( @; p1 _. x/ L0 C* R
复制代码

+ Y* u( J3 ?$ F  C% T2 ?5 H# K9 Q. ?7 [' X" J7 `
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了, \* t" c7 F% ^8 d- W- ^9 J  O
- G/ i' R4 q: i" A1 s# \

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 10:56 , Processed in 0.047343 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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