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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
/ V. ]% f8 P! C% e$ }: b, A问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
! ]- _0 g. H$ g9 Z7 O6 d补充:不能改变工程及文件结构% m: x$ b7 ?6 n/ V* a  l
请各位大神答疑解惑,必感激不尽6 ?& x5 N( y8 T) L$ q

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
) S4 p1 F* x4 @; B8 Z  W
8 x  I9 @5 q% U9 F2 W
  1. /****************************************************************************/" @+ b- s) E5 C% `; \1 P- @
  2. /*                                                                          *// l! Q: w  r% V3 U$ j8 u9 a! ?
  3. /*              BootMenu                                                    */
      [! K0 t" k  _, i
  4. /*                                                                          */  x- m; V/ w: m" |. Q! V* r4 W
  5. /*              2014年11月07日                                              */: h* j4 o3 H7 r6 ?/ }- }( ~
  6. /*                                                                          */! Y! R4 P; \, o! g' f" X9 r
  7. /****************************************************************************/
    3 i. a& m! ], ?$ x5 C. ~2 U2 C- `
  8. #include "uartStdio.h"8 r7 _( y5 F6 r# N" E0 n! J

  9. * k& V5 a# T2 d, D1 M  ]7 q
  10. /****************************************************************************/  m9 y4 B4 h% f' \+ [- C- S3 k
  11. /*                                                                          */# h7 w3 h3 w- X. s5 h
  12. /*              宏定义                                                      */
    6 v- p2 L: H+ _- M; f
  13. /*                                                                          */1 b9 Y# a/ L8 t3 v7 |7 e/ V' A
  14. /****************************************************************************/
    ( E" i4 Q' P  ]3 P+ S9 d/ `

  15. " s3 e& v. `; y% i# q
  16. /****************************************************************************/) K; @: }# r2 [# u, w
  17. /*                                                                          */
    " Y5 |: c' r5 C5 n
  18. /*              全局变量                                                    */% D* b( F5 o: l4 n
  19. /*                                                                          */" s+ i6 W0 C0 s# V: @8 d+ B8 e/ Q
  20. /****************************************************************************/, s* u4 g0 f- t0 Y0 E9 W2 P: C
  21. unsigned int EntryPoint = 0xC0000000;
    4 ~3 o) i- m0 i

  22. 7 d& O7 u' n$ \3 y' S: \0 q
  23. /****************************************************************************/
    # G) O2 F3 I# r9 l: U* u5 y
  24. /*                                                                          */; R: ?, K3 m+ [
  25. /*              函数声明                                                    */
    8 f, h- m( v! K; V3 E. E
  26. /*                                                                          */
    2 A" j8 v/ U4 S% A$ n
  27. /****************************************************************************/; |  w/ p5 G4 Z7 t( }
  28. void (*AppEntry)();( L5 @9 z5 o8 Q9 N1 X

  29. 9 D- E7 G' M" U6 g  K, @9 R
  30. /****************************************************************************/
    ; N1 E2 P6 O! K1 h7 Z: Y% c3 o
  31. /*                                                                          */0 S. L; P, @- ~
  32. /*              主函数                                                      */6 [3 @/ G  W$ _5 C
  33. /*                                                                          */& ^! U& Q% y6 L$ u6 O' {
  34. /****************************************************************************/
    7 w, h1 J$ A" W1 L. J7 i; n
  35. int main(void)6 s7 D5 X/ ~1 N
  36. {- O. M% A8 `0 i0 o. I
  37.         UARTStdioInit();
    ) B' a$ h" U4 H2 b
  38. 0 N. |( \7 r8 P
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    # Q' @0 k: D# w6 |9 Y7 f# i' S
  40. ' ^$ e$ `- ]5 D; l7 _+ g! L  Q# F
  41.         UARTprintf("0.StarterWare LED Test\r\n");) x7 F7 u" D7 u3 X1 e
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");! `3 R0 u9 F, {$ S3 u% z, B
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    : ^0 ~" J- l: b# W7 p% p. o- f
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");6 j! M& j7 }. N; Z4 o0 M

  45. 8 v( ?( ^) d, m4 X' G  V% }7 g
  46.         UARTprintf("\r\n");4 j/ @) x- i8 M; z" L" k0 S5 o

  47. % J4 d1 X/ \1 c/ E. U  b4 M7 m
  48.         unsigned char val, status = 1;" X7 |  l" `$ |" h
  49. Choice:
    5 w, i- ^/ c- h0 U$ h- S) Q! Q4 Q, }
  50.         val = UARTGetNum();
    / i, Q3 i, h  p5 x3 |" R
  51.         UARTprintf("\r\n");
    1 M* E+ N, e5 [

  52.   u, @$ l7 m6 J7 y4 p: d! }
  53.         switch(val), }- L* Y; W5 G: h
  54.         {
    2 {' ^* l& w' v& C7 D
  55.                 case 0: EntryPoint = 0xC1000000; break;% J$ S* b$ j2 g. |
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    2 j4 a) L$ W8 ?8 V4 L' k, G. `. D
  57.                 case 2: EntryPoint = 0xC2000000; break;5 @3 i) X, X# h+ ]$ x( C) y
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    1 F8 W8 _5 \* u

  59. $ ]. p7 v9 i6 O" a) r( p. D: u
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;% Z3 X! d' f! \4 j- Z; y9 ?
  61.         }
    , N( [! U7 ]! H' c1 l
  62.         & S1 c7 D% E, U& I/ W
  63.         if(status != 0)8 d. a1 r1 i. d
  64.         {
    ! k2 ]7 w3 K1 p$ a- K
  65.                 UARTprintf("Starting Application ......\n\r\n");! ?2 w( o# W) u/ v
  66. 1 d9 G  e% b1 v8 P& \& ?7 S* x
  67.                 AppEntry = (void (*)(void))EntryPoint;2 n7 e% i; G. n0 f4 ?5 a
  68.                 (*AppEntry)();
    . ~8 F0 m) Y: w" y  |1 d7 P
  69.         }
    % I8 D6 ^7 u( M5 [

  70. 5 H: M  q6 q* d% p* A5 R, A
  71.         return 0;+ S8 K6 L8 k) Q& }# b2 L8 z
  72. }! N' p, a) q( O0 F3 d$ ?
复制代码
- B- P) z. e' r

( @( f' B8 W$ b9 L
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
6 Y% T5 p9 o: H8 b' V% i- |
4 Q5 i: Z1 Q. }# V" }

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 12:47 , Processed in 0.037557 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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