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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。: u* K* A8 b) Q4 V8 l: W0 O/ `
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?& r+ K7 z4 M8 @8 y( f; I3 C1 |
补充:不能改变工程及文件结构/ v8 p2 C; _/ W% m. P7 ?. D
请各位大神答疑解惑,必感激不尽6 D3 i( E2 e% i; |

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00& ^# \! e" t" P8 t( @6 V! `

& @* H/ T4 g- F% p
  1. /****************************************************************************/
    ! d0 P3 Y: F8 O2 K2 J; w; N7 i
  2. /*                                                                          */* Q- q7 k9 l7 ~  _. |
  3. /*              BootMenu                                                    *// L- `- X; [/ d" @
  4. /*                                                                          */' R9 Y7 ]. a& k1 F: l
  5. /*              2014年11月07日                                              */
    7 r: ?& @; Y1 j  k7 S7 K/ e
  6. /*                                                                          */
    - z- p) C0 q3 a: F; r
  7. /****************************************************************************/  y6 L8 p5 e; J
  8. #include "uartStdio.h"
    4 Z) ]- B9 ^$ Q3 h) @; Y( B  O

  9. 9 K+ V6 P1 Y$ g7 l  Q) v4 Q
  10. /****************************************************************************/0 F& E- ^% d6 N/ A6 N
  11. /*                                                                          */
    9 n, A- n% _- G& Y, F/ `2 q
  12. /*              宏定义                                                      */) Q" z; K5 Z# F% g) u
  13. /*                                                                          */- U6 [7 O; N6 ^' s: [$ C- \
  14. /****************************************************************************/8 l% ~& ~# B3 T6 N$ G% ?0 t% z% c' Z
  15. % i  a3 t2 p0 I. ~" s! b/ y1 g
  16. /****************************************************************************/$ g" i, m( w  x& t7 D
  17. /*                                                                          */! G1 ]$ X4 d  E& Q; q' C
  18. /*              全局变量                                                    */
    1 q! R% N6 U8 |
  19. /*                                                                          */  y! {7 i) Y, z2 G2 N
  20. /****************************************************************************/
    3 S: f- w% w1 V3 p: |7 i
  21. unsigned int EntryPoint = 0xC0000000;' r4 }( V5 `$ N* j( r) @

  22. ( h( a+ v6 Y& P! t0 J% T
  23. /****************************************************************************/
    4 w9 P1 B3 L! A, f
  24. /*                                                                          */
    - C4 w) B8 }4 ~6 Y
  25. /*              函数声明                                                    */- o6 T* F4 T! c: f: [/ W! u  t$ z# g" W$ U
  26. /*                                                                          */
    0 v2 X1 O0 H0 d& b
  27. /****************************************************************************/( d! L1 K3 `' z' `2 H
  28. void (*AppEntry)();. O5 Y* F0 ~4 _5 F
  29. 8 ?0 L% ^2 O, ?8 o& t
  30. /****************************************************************************/
      ?  t: }% e" w4 A
  31. /*                                                                          */
    " o% o2 R/ U7 e; R; m" X
  32. /*              主函数                                                      */7 S- d9 Q7 T9 s! w9 R! t0 `2 P
  33. /*                                                                          */9 y" w. N5 q& g  \
  34. /****************************************************************************/8 U2 ?6 _7 w& a$ s& x( U$ `
  35. int main(void)
    7 R3 M7 p& g* \
  36. {
    8 ?" I5 x$ d+ Y! G9 i. X3 B, v
  37.         UARTStdioInit();6 R3 V! @' G# v9 l, l
  38. / R/ f3 c: t  f; T* f
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    2 B* e/ G: ^6 W; {; A7 w0 r
  40. " l% g5 n* {( R3 i8 S) [/ E
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    7 N, J/ A7 v  k& J" s# D
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    1 M  m* s3 }& g. E/ z$ ~
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");. _/ _1 ^; w+ N8 j& J3 P
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    4 x. ]* R* T5 X! u
  45. ) w* v  ^6 o' ?* L! G8 X
  46.         UARTprintf("\r\n");
    / `7 f7 {4 H1 o0 O$ W

  47. 9 x* \, u' o( {
  48.         unsigned char val, status = 1;
    # D+ `8 ~8 O! t
  49. Choice:
    ' M2 a! {/ I; Q7 t- _' R; e
  50.         val = UARTGetNum();
    # C4 Q! R( c$ Y, g9 }
  51.         UARTprintf("\r\n");
    # U3 L2 J/ n, y0 m; V. [
  52. 7 C- T5 e0 A" v/ m- A+ l/ t
  53.         switch(val)0 T6 u( J! U' l2 U/ a
  54.         {
    9 ~: W* X" h3 L# U3 N" Y1 [
  55.                 case 0: EntryPoint = 0xC1000000; break;' _8 b' x0 W1 k+ M' V0 u# H! ^0 S
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ; t0 g* q5 |0 a$ [& k
  57.                 case 2: EntryPoint = 0xC2000000; break;, d! n- w% z* d) s
  58.                 case 3: EntryPoint = 0xC541DEE0; break;# C5 u8 q: u' a" d& O

  59.   u/ P0 v1 E! P9 W3 Y
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    $ w( f2 ^6 T8 r& K. R1 f$ b
  61.         }
    ' i" L$ N9 B7 C2 v4 a6 o' o5 t: I
  62.        
    " D) d( [* X! f
  63.         if(status != 0)' Q6 M, ~/ j$ S1 o
  64.         {( z. A+ F5 k. ]1 d' E+ p1 V
  65.                 UARTprintf("Starting Application ......\n\r\n");/ `2 f4 G2 X: R7 p: [

  66. 5 A' k7 W+ a. }/ v  l# W0 E1 z
  67.                 AppEntry = (void (*)(void))EntryPoint;
    ! ^9 }7 ]* a' a
  68.                 (*AppEntry)();
    2 m+ O+ z8 K% }3 W0 v4 Z
  69.         }
    " _( ^& m4 M$ w
  70. ! H. e( k  k* A: x4 p) p3 [  T
  71.         return 0;( _- X! X% `% X
  72. }
    1 H5 x) L" Y. c; r! E" W$ a( _) x
复制代码

% m. z& F1 B* b5 t/ i4 `$ J
$ j# }/ T9 k0 O/ B9 C
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了7 k. ]4 \/ v8 k' \4 x) H
4 B3 U8 ~, B' y( Y2 [+ i

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 12:25 , Processed in 0.040979 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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