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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。  ?! `- [' [& K/ d9 z
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
2 I$ M1 ]/ Y) \: Z补充:不能改变工程及文件结构8 c: O: u" S# J+ ~3 D
请各位大神答疑解惑,必感激不尽
8 G% O  J6 r5 o7 _4 D, R# H2 @! O* L

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00. O2 e. V$ s* t  r/ }

6 h- C) U% H4 e* N
  1. /****************************************************************************/( _2 a) n% q/ k) Q2 Z1 V* ]2 W
  2. /*                                                                          */) O/ K8 p4 s7 o! C
  3. /*              BootMenu                                                    */
    & F6 Z0 s9 G0 z! f" y' `
  4. /*                                                                          */
    ; O' @* N5 T" J" c
  5. /*              2014年11月07日                                              */  q' ^  p6 [/ T8 F0 [) I
  6. /*                                                                          */
    0 u. I5 ?/ o6 Q* M2 T
  7. /****************************************************************************/
    ! d8 S! x/ y4 G* R$ p
  8. #include "uartStdio.h"- [+ K' p7 B- ^% K% N+ t0 M7 j
  9.   W$ U& k  O# r' o: ]
  10. /****************************************************************************/( L5 K8 M# s9 h- q3 D. R
  11. /*                                                                          */
    4 H, y& s( F+ F8 d0 L
  12. /*              宏定义                                                      */
    8 q/ q) v0 m# W6 n" f0 W
  13. /*                                                                          */
    * A5 a2 k& }$ ?6 ~4 D% f5 Z
  14. /****************************************************************************/
    % ^! {3 Y& }' I, G1 V6 m

  15. ( j% a* ?6 o2 b' B$ H% o% }' z
  16. /****************************************************************************/. u- y2 M4 E! s$ y" |1 `3 ^5 m- Q
  17. /*                                                                          */
    * \3 }* ~/ t/ E0 Y, ~) ~# I9 h" @
  18. /*              全局变量                                                    */1 d5 i% o$ M" c( {, s) o
  19. /*                                                                          */- s5 e* y7 c) C# T
  20. /****************************************************************************/$ B8 Q7 e& [- |% K" m
  21. unsigned int EntryPoint = 0xC0000000;
    $ l% ~8 c& d/ f( E
  22. 3 r# k0 E0 x' w( P& x, m) n
  23. /****************************************************************************/
    ( k! @9 U9 J( W  A" |- }# \
  24. /*                                                                          */4 F& o0 m: `! u+ e7 ]: Z
  25. /*              函数声明                                                    */* b& a% k* [" G& x& t# }
  26. /*                                                                          */' [( P5 w* Z7 }( S# i% [
  27. /****************************************************************************/
    ! M$ B$ t2 M  Z. [* I" q
  28. void (*AppEntry)();
    $ L  B& E6 C" C2 `9 i0 l$ n# B

  29. & c5 h( ^  P- x
  30. /****************************************************************************/
    ( g) D" F! P/ Y  t) F$ ^
  31. /*                                                                          */3 e2 q6 I# y# N- J; M" V9 X% ]; {
  32. /*              主函数                                                      */
    3 C4 H* z: ]3 s+ ?
  33. /*                                                                          */
    4 v( z$ m5 o" G" l
  34. /****************************************************************************/2 c( G5 F* M1 r. w$ W5 K
  35. int main(void)
    0 j, U( q* K) h5 K
  36. {
    " ^% g4 [3 O( Y% P% G
  37.         UARTStdioInit();
    1 F2 |+ @" W6 w  O' n( \
  38. : C+ E  g2 w, U% b7 z8 X
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");$ e& }5 F' |& h" W# @- a% v
  40. 8 G4 @* D" q0 h9 f
  41.         UARTprintf("0.StarterWare LED Test\r\n");) `; U- x4 M  Y: M; B8 T' ?- _
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");) G) i. j6 U9 u0 C
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    ! c% W' F$ `* s
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    4 s: _9 Z& a# |$ h$ K" j

  45. ' W) j# B- O5 b; d' ^- y9 ~
  46.         UARTprintf("\r\n");* q& N6 D/ Y& K0 ?

  47. 7 p! f1 t. M* ]5 c  A  l
  48.         unsigned char val, status = 1;+ E9 U7 h% f- T4 x, S
  49. Choice:
    8 |* u! w5 r; w
  50.         val = UARTGetNum();- j9 G  O) q7 }  i2 |  N
  51.         UARTprintf("\r\n");+ c0 M. ]! m1 ^4 s" z

  52. 7 u! v% P3 |0 T
  53.         switch(val)* O. F# o3 I) f# Y, q6 Q( u
  54.         {" p/ T  R  ?* \. l1 g( Y' s
  55.                 case 0: EntryPoint = 0xC1000000; break;
    $ w: o6 x8 w  s4 U5 d: x5 @
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    1 p- C$ S$ ^2 m9 G
  57.                 case 2: EntryPoint = 0xC2000000; break;
    " k1 x4 T7 y4 D2 k: t$ Y; H, R; v" Z
  58.                 case 3: EntryPoint = 0xC541DEE0; break;4 e- Z" n" [: N1 {2 V
  59. 5 e9 r- n* ~/ ?' U
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;1 d  W) @2 z7 ^8 l9 U
  61.         }5 @0 c) \8 B5 d7 V# S8 s
  62.         + Y9 v" W3 F6 n
  63.         if(status != 0)
    . [2 ~7 ^4 z. i0 R6 u+ s# I! T
  64.         {
    + V& Z+ v9 k/ c6 L" v* m
  65.                 UARTprintf("Starting Application ......\n\r\n");% N1 c7 j1 ?+ y) k+ C8 v% v* G: R

  66.   Y! f# I: G4 G
  67.                 AppEntry = (void (*)(void))EntryPoint;# I4 W: T% \2 m. {
  68.                 (*AppEntry)();
    , K/ S& h8 D' i) D  D" y: ~
  69.         }8 k1 k8 n) Z" G& m
  70. 4 F: m( x- z* L4 J
  71.         return 0;- e; E, {% s% q3 G
  72. }2 g1 \2 I9 z1 k; q
复制代码
4 Y/ C- _6 X% r) e/ ^. K  y$ y

2 n6 U7 a5 a1 S4 E- i% F
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
9 h* j- O' v" e0 M1 E/ ?+ u0 s* j

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 09:49 , Processed in 0.040616 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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