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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
9 O+ V: s: F2 U) Y问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?# z- b2 R) M0 q& r6 b4 _7 S$ l
补充:不能改变工程及文件结构( P4 p2 K* T; c3 k1 Q' @( f
请各位大神答疑解惑,必感激不尽& ~) H+ Y% h3 g

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
9 I& p& Q4 q: y3 K0 z  J
8 H- k; Z* l6 M
  1. /****************************************************************************/
    6 }4 p3 |( q  p) [' `+ I
  2. /*                                                                          */
    , Z% V! _& {; h6 K  O
  3. /*              BootMenu                                                    */
    # p* r* F$ ^. n) E) M4 ]$ k
  4. /*                                                                          */
    9 K) V, w7 T# [
  5. /*              2014年11月07日                                              */
    ; C( G0 U2 @9 L
  6. /*                                                                          */- k4 Z6 I6 d  h% P+ c3 H: R
  7. /****************************************************************************/; O# |* u& w7 o6 h
  8. #include "uartStdio.h"
    $ f! d! W* ]0 F: ?. p7 K

  9. + V. V2 i: }5 a1 d4 M  w1 U
  10. /****************************************************************************/. N7 k  `3 l- x6 F
  11. /*                                                                          *// s/ {' x8 ^1 Q6 b( g) G/ Y
  12. /*              宏定义                                                      */
    : i4 U  q/ @* X; G1 s- W+ N
  13. /*                                                                          */
    5 g" W/ Q; V: I3 k
  14. /****************************************************************************/5 E  ]7 {: @: F  R1 o. {7 F' J
  15. & R. R1 H( }: M
  16. /****************************************************************************/
    3 W! V/ _; l- ~6 [7 i- x. E: f
  17. /*                                                                          */
    9 o$ P% o7 \" R4 R* p/ U
  18. /*              全局变量                                                    */  }7 |6 k, Z0 q7 X$ \
  19. /*                                                                          */# ?/ x0 l: B: g8 Y/ g7 n! y
  20. /****************************************************************************/  n. y, M9 `1 b% W
  21. unsigned int EntryPoint = 0xC0000000;
    2 q# v3 [' v! w! a( y' G, c
  22. % i& j8 k( u. l8 P  d
  23. /****************************************************************************/
    7 ~4 B" `1 G5 p1 m
  24. /*                                                                          */' u2 |" o! _; Q' C' K5 i
  25. /*              函数声明                                                    */
    " D" Y5 v+ g1 o1 _0 ], l& t
  26. /*                                                                          */
    % G0 ^5 D, m0 M# w
  27. /****************************************************************************/' X) f9 y; Y. l" a' G  u) C: }+ C7 y; K
  28. void (*AppEntry)();# R/ |! [6 T/ n5 a, [0 r+ |

  29. * x5 c+ u+ F! H3 A- ?' Y
  30. /****************************************************************************/0 X6 o/ G- _: _. s' C6 b( I
  31. /*                                                                          */
    6 c, h1 c8 t- ]
  32. /*              主函数                                                      */
    0 A2 S6 b. u/ S! }0 g* y  N
  33. /*                                                                          */) V* n* c4 ~: {/ \! w6 W
  34. /****************************************************************************/6 n/ m2 {& M7 F; S0 \: i7 w0 m
  35. int main(void)
    7 ]1 ]. ]$ \: U$ v( [) W2 l& o
  36. {3 g4 ~; P- i/ J- f% W! C3 H
  37.         UARTStdioInit();' F  w$ W  s# I, E7 b% P3 w) |
  38. ( g' U5 O/ }* x8 P9 O
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");0 Q. s& J9 k$ y* ^3 Y

  40. ; ?4 w* j* b* B; I6 Y7 d
  41.         UARTprintf("0.StarterWare LED Test\r\n");% }. b$ K6 I4 j9 q
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    ; D4 r+ e, s4 g6 W7 }- |( t
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    : X, i. S9 F  G! G
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");/ {/ n$ ~. p6 J3 R1 X  m

  45. 3 h& l* r- }& N7 P4 k
  46.         UARTprintf("\r\n");
    ; s9 z" a8 v: v- w

  47. ; x* i+ `+ Q5 ?0 Q
  48.         unsigned char val, status = 1;' p5 o* S+ O& k8 O1 i9 H5 E( m( F7 o7 n
  49. Choice:( K. q- `" Z6 z
  50.         val = UARTGetNum();
    9 I# Q" N; j) M) l" U' J  k5 ^
  51.         UARTprintf("\r\n");4 y0 l# a, G- E% j! L3 D" ~

  52. ! p0 U& y) a( g, j) `: ?
  53.         switch(val)5 l4 }% U3 J: a+ l9 X
  54.         {
    8 `/ u6 V; L1 ?: ~( [2 B: u
  55.                 case 0: EntryPoint = 0xC1000000; break;
    " J1 R. [; Z! R9 i. }
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ; \( \# o1 L  ?
  57.                 case 2: EntryPoint = 0xC2000000; break;9 |5 g" r. J$ B$ [) ?3 ~% e9 A
  58.                 case 3: EntryPoint = 0xC541DEE0; break;; J. I7 |5 @! G* M* ~

  59. ) y4 i" q0 Y+ G, T# o
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;' L. w: T2 e& i6 W: @, f  v6 V9 b
  61.         }
    " b; j" M7 E. a1 L, ^2 Q. F% ^
  62.         * [' t" s8 l8 o' F5 {+ d
  63.         if(status != 0)) F, ?& a( c; o' e. p
  64.         {
    5 T& K9 w1 n/ z: Q! j9 ]% ?
  65.                 UARTprintf("Starting Application ......\n\r\n");7 j4 T8 I) n9 O( R/ Q9 C4 Q5 Y

  66. 4 a5 G0 c, k' e
  67.                 AppEntry = (void (*)(void))EntryPoint;0 J& R5 m2 U; M0 v  \  ~
  68.                 (*AppEntry)();
    5 S+ v* E8 a/ g1 S. y  q! D
  69.         }+ d2 }! A  f6 k( I: r

  70. & \0 l4 k, A7 Z2 R
  71.         return 0;
      h6 A0 k% o1 j) p
  72. }5 E& ^! \' h" m/ V
复制代码
4 h! r) T: @( s6 k6 v; \
  [8 m. k  U) z0 _' r& r* N
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了2 j0 I- J0 W2 o$ K; t" _
# @. _1 ~2 I# I3 E

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-31 08:12 , Processed in 0.045553 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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