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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。6 ^$ {* ~, K' _
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
( I' y9 G" d8 S0 W. }6 u* b补充:不能改变工程及文件结构0 M) p- [+ Z6 l# k7 M
请各位大神答疑解惑,必感激不尽
* g4 a: o5 k0 {% [

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00& V9 {4 @% u0 v  R- p. H
/ _3 M7 T; |* w* I5 ^! V6 s
  1. /****************************************************************************/& c( Q8 s7 X! I; N0 ~) x
  2. /*                                                                          */: B, i* _& W6 H2 p. ]/ r; ?
  3. /*              BootMenu                                                    */
    9 l  @3 ]; N6 @2 U: }$ V8 T
  4. /*                                                                          */2 S' B5 i! [% N9 O9 B
  5. /*              2014年11月07日                                              */* x: ^- ~. k5 h8 M% F, Y
  6. /*                                                                          */" d$ T3 }+ R, L- \" P
  7. /****************************************************************************/
    5 a( }' B/ x  g6 s% |3 N
  8. #include "uartStdio.h"
    , \0 u+ ^8 N  u$ s
  9. ' Y1 q( w& X4 q+ ^9 n: Q! }/ c' _: J
  10. /****************************************************************************/
    % I/ n5 H8 g' ^3 C1 [6 T# r  Z* Z
  11. /*                                                                          */
    " c' S  a3 O$ s7 V1 o! C
  12. /*              宏定义                                                      */* p" R4 u& j0 F# D
  13. /*                                                                          */
    # s, \% d, e6 \( ~2 p# y
  14. /****************************************************************************/
    & D& t3 s% z/ N  F

  15. 1 Q- Y1 ~# b& z! i/ }0 L
  16. /****************************************************************************/
    ) f+ L7 x5 r/ S+ G- A1 Z2 ^4 B8 c+ a
  17. /*                                                                          */7 q: r3 W3 c" L" ?$ J+ u
  18. /*              全局变量                                                    */
    " b6 x' X5 v( [) W3 S1 r( t
  19. /*                                                                          */
    : V% T( }9 N; ^% }/ @9 `/ N( {
  20. /****************************************************************************/) J7 x! F7 f! I' K( I9 K
  21. unsigned int EntryPoint = 0xC0000000;
    4 Y+ l9 K' r$ p1 {$ x& ^

  22. 6 b+ S" D1 \; S: a" x5 G# o5 B
  23. /****************************************************************************/
    $ }9 R2 p4 P7 t3 A! a1 \+ Z/ c
  24. /*                                                                          */
    + b, W3 Y- Y& Q' ~  X# E/ ~8 C
  25. /*              函数声明                                                    */
    4 m, j& ]! v( @" m( t3 `
  26. /*                                                                          */
    1 J9 K) V3 u6 R3 \( q
  27. /****************************************************************************/
    2 E) H! y) i- ^% q" y% B
  28. void (*AppEntry)();0 @) `6 H- ]. ~5 Z$ L5 ]* z6 M
  29. : U" o1 K5 }2 q0 }* E1 l
  30. /****************************************************************************/
    ( y, g) |% N( d  ~3 _
  31. /*                                                                          */6 ?" m$ o$ z6 s2 y
  32. /*              主函数                                                      *// l+ D; r2 K; C2 ~3 R7 o4 o3 ?6 s/ t2 o
  33. /*                                                                          */
    - l, Z- C- K! r" b
  34. /****************************************************************************/5 ~) X+ O+ g- ~7 J5 `3 n
  35. int main(void)
      _. F# \) R- V3 L- H- y
  36. {. f* @( Y6 L3 C4 {" o
  37.         UARTStdioInit();7 ]2 o. L+ Z" I0 k* b# F% h& n

  38. # s4 I5 F1 [$ i* D8 W1 Y& q2 a  A
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");" j+ q6 x- \6 ], ^/ V  u

  40. ) J& o9 D' m! S1 ?5 N% l
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    ' G+ ?  v1 L  f
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    * ]6 m- X$ P2 F4 }" a# `
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");/ H) g0 M8 x$ H
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    $ Q4 h1 p: O% o$ m0 r

  45. 0 I2 d& m- H4 t, g
  46.         UARTprintf("\r\n");' K4 v* |( M2 Y! d8 }

  47. : i0 \$ x7 P8 |  J
  48.         unsigned char val, status = 1;
    % D: x7 g7 Y) J4 ~3 U* j
  49. Choice:# `7 N1 Q2 M: i5 v; C
  50.         val = UARTGetNum();6 K1 r6 ~* H, C  Q, ?
  51.         UARTprintf("\r\n");3 x6 @7 z& e" f. j" O* Z% i
  52. : U; d7 K3 f) G4 [1 V2 b# h, d
  53.         switch(val)
    % ~& Z% |! h& w  O: C
  54.         {) z8 C% g; M" k, Q: g1 C3 H8 h7 L
  55.                 case 0: EntryPoint = 0xC1000000; break;  B/ F* g6 p) r) P4 {) O  `% R
  56.                 case 1: EntryPoint = 0xC0251FE0; break;9 b# e% ?9 R: [1 |( N
  57.                 case 2: EntryPoint = 0xC2000000; break;
    ' Y  ^( j/ K9 J; p/ A; o4 D+ n7 Q' ]" R: F
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    2 C0 i0 V3 V- ?, M; Y3 a6 a2 E8 z. Q, j
  59. 0 k8 f- U! Z  |6 {6 T
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;  l" {/ G) f/ c% j' H7 E' M8 t. ]
  61.         }
      |! m3 z8 \* q" \' m+ e4 U3 c
  62.        
    ) `% g: c6 N4 m5 D6 J  F
  63.         if(status != 0)7 R! }5 N# S5 l6 f) \+ X
  64.         {0 V4 p4 ^( G, M& l
  65.                 UARTprintf("Starting Application ......\n\r\n");
    ; g/ ^. v9 w9 j4 h' z+ b( x

  66. * F. b' u. S8 _+ G6 y) b+ D
  67.                 AppEntry = (void (*)(void))EntryPoint;
    ( W/ M- u; n7 l2 G( Z
  68.                 (*AppEntry)();# L& f7 [: b8 s% O) t# m
  69.         }7 r. A$ `+ K' g: M$ [! [( o$ K

  70. % _: {( B4 C! Q, ^
  71.         return 0;
    ) G8 }6 k0 ]* ^) X3 O3 z
  72. }
    % ]" I. s# R7 H& Y& I
复制代码
$ M8 n( Z: Z1 ?6 c- ]! w
0 S8 b3 `* m- F' ^/ w
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了9 V5 n- h3 f; n9 Q) `
* ]7 E, @$ z7 r3 O, h2 h5 E  i

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 11:27 , Processed in 0.043498 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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