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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。0 K/ G2 n. ~9 {3 j
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?, s& V9 q8 J- o1 `4 q0 o; O
补充:不能改变工程及文件结构
: _" D! z" o5 B请各位大神答疑解惑,必感激不尽
% [1 @% y4 h  p0 H1 Z

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int007 O, G- _2 x1 W2 \3 m/ P/ m8 F# I
) a9 m/ b9 d  Y
  1. /****************************************************************************/
    ( `# J, _7 U: ?2 z- {
  2. /*                                                                          */9 ^! s+ O5 h  N9 f5 o
  3. /*              BootMenu                                                    */
    & V5 [" I! J: N9 r! ?; U3 \
  4. /*                                                                          */
    ! j: j* R. A# a8 g2 C8 ?
  5. /*              2014年11月07日                                              */
    ( _# |5 m2 n& _& S% R) y
  6. /*                                                                          */1 r" `6 G% }6 ~  J: _* ]1 c5 n; u
  7. /****************************************************************************/
    * ]  k2 {$ N) ]/ G" s* d2 C
  8. #include "uartStdio.h"
    ! v4 c; |! l$ x- e1 R( |
  9. ' W* A6 |' k4 w  n( l
  10. /****************************************************************************/
    8 S4 b7 P* G( f0 t
  11. /*                                                                          */
    6 o( ?$ B! Q- G6 R7 v2 ]6 _6 L
  12. /*              宏定义                                                      */
    # c+ l% t7 s5 j4 D( @" U
  13. /*                                                                          */% N$ y4 V5 K0 ^& D! r- o  \+ y: {
  14. /****************************************************************************/
    7 |5 [4 L$ `. Z
  15. 0 c  n  H7 I8 o# x' Z4 o+ j
  16. /****************************************************************************/
    - C9 @3 [! y8 c% U# J+ n- e9 I
  17. /*                                                                          */6 D9 \0 e! b7 E  w, C. {( O- B
  18. /*              全局变量                                                    */
    & z* t0 I1 R. A& |3 C; F
  19. /*                                                                          */
    ; n8 ?! I6 p( ^  v5 x  H3 d5 d" R
  20. /****************************************************************************/
    % g7 i. Q! ^" }2 |! B+ j9 |, f
  21. unsigned int EntryPoint = 0xC0000000;
    0 R0 }9 \' r; W  e
  22. " a( |( }  t/ h3 {! i
  23. /****************************************************************************/
    # j1 i5 H2 n% @2 a1 [" E
  24. /*                                                                          */
    3 |& P$ }7 Q% S8 @+ B
  25. /*              函数声明                                                    */
    ( A6 z' N4 o/ G
  26. /*                                                                          */$ d- M( ?$ g0 O( l7 s) Q9 T, Q& h
  27. /****************************************************************************/4 J2 \. x: f" Y9 n# K
  28. void (*AppEntry)();
    - J5 t0 z2 W; b  \* Z

  29. ( f9 J) p% T( v% k$ w/ W- Y
  30. /****************************************************************************/* g4 B4 d+ }6 |$ x( ^; G0 ?* N
  31. /*                                                                          */3 R, m5 w5 I& |8 m' m
  32. /*              主函数                                                      */
    2 Z/ U& a2 I5 C& ]4 b" t; B
  33. /*                                                                          */
    + R; c+ p4 q/ _
  34. /****************************************************************************/
    7 z4 f5 d. O3 s
  35. int main(void)7 j0 R' \8 y7 r* X
  36. {
    9 c6 ~% }' c% f. N* Q( ]5 ?
  37.         UARTStdioInit();8 q2 p' _' L$ r% M, b2 d
  38. ! a! Z5 A4 U" q) Q) v! ]1 h, K
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");/ R5 [; J) x3 @7 u  Q+ @$ F5 W
  40. 1 ~, |  G) E* B2 Z( j
  41.         UARTprintf("0.StarterWare LED Test\r\n");$ i0 Z9 d* A# z0 p2 z' v
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    " {; F/ p% g& P# Z+ h
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");# a( i; O( c* M( _* B2 k* X& d
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");* Q2 Q: k) a0 w! f4 T" q
  45. 0 I0 g$ i* V+ i  C! `) e+ j9 ]
  46.         UARTprintf("\r\n");* V& U3 a) \) L5 H- ~( U# C

  47. % O( {0 O' }2 ]4 c/ S$ X
  48.         unsigned char val, status = 1;
    $ n# {- T6 e( R# `$ j
  49. Choice:% T: L% w+ e" T' ^; k6 Z
  50.         val = UARTGetNum();
    5 C# G" x+ e6 b: Y& ?" d
  51.         UARTprintf("\r\n");. u# A+ f# t: m2 t
  52. : R: P1 j: J6 ^! w0 [
  53.         switch(val)
    & E% \4 D, X- ?( X
  54.         {% l! b4 d! }6 p
  55.                 case 0: EntryPoint = 0xC1000000; break;6 t4 t, v& F3 s3 p' u
  56.                 case 1: EntryPoint = 0xC0251FE0; break;  S2 p0 v1 O( Q% w3 n
  57.                 case 2: EntryPoint = 0xC2000000; break;
      ]6 `0 h  z6 a; i$ }
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    + F/ k7 W- l( A

  59. , ^, \6 v, ^1 M
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    * r/ i  N' M- P) W6 b
  61.         }4 C) P- _0 g' ]* A% j/ y
  62.        
    - ^- M7 n3 U8 S& p
  63.         if(status != 0)- j, t0 ^3 z+ n, P+ A0 j1 ^2 [9 P! A6 s( C
  64.         {3 J6 @; B8 t1 b, x
  65.                 UARTprintf("Starting Application ......\n\r\n");8 K! g1 C) y2 J/ f+ c8 r# ^8 j

  66. 5 q% f8 _' T8 b
  67.                 AppEntry = (void (*)(void))EntryPoint;
    ' O- P6 [4 l; Y. |- C" \1 y
  68.                 (*AppEntry)();
    / w( a& Z  p) y6 I: N) G8 E+ h3 k
  69.         }
    ' ^* {, q  d  h! z, `; q% ^

  70.   F, G$ Z5 Y  S" t
  71.         return 0;
    & a0 ^0 a' w/ K6 r# j1 J
  72. }9 j; d. B2 U3 h6 ~
复制代码

- s+ B3 R( `# a3 ~0 H, {" T
8 M- H) F( s, w3 N
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
( s& U" z' S) Q! I8 Y6 }! v+ {
3 }9 d& t  L9 c, p4 {. f4 ?. E

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 06:18 , Processed in 0.041385 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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