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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。7 ~' t* _; x7 Q% p
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
7 a. L. b$ C7 l4 z- [& s补充:不能改变工程及文件结构7 I' Q. h# U! G6 i  a6 M
请各位大神答疑解惑,必感激不尽9 |( h4 e/ T1 n0 X7 r

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
, S  e2 X: e6 V3 b3 V* y& a2 b8 H; s3 V3 {. X
  1. /****************************************************************************/
    , t5 H8 G' Y: l
  2. /*                                                                          */, Q1 F% a9 \: w
  3. /*              BootMenu                                                    */
    3 o- W( g" ^0 A2 n+ T! Q' t
  4. /*                                                                          */
    . u+ [9 M0 }6 L5 W& l- Y
  5. /*              2014年11月07日                                              */& i. B- D- ~0 c3 u8 ^2 i( M' S) C
  6. /*                                                                          */5 k9 |; U- P" B$ m
  7. /****************************************************************************/
    9 g, q7 @3 c/ R
  8. #include "uartStdio.h"
    ; y, w6 z( c8 _2 _' F7 G7 N

  9. 1 s; v. e; ], @
  10. /****************************************************************************/# r5 M5 q& I9 R, R' P' Y9 V
  11. /*                                                                          */( S6 f& n* W4 t) P$ u- t& i
  12. /*              宏定义                                                      */
    + ]2 ~* u' Z7 L1 l9 |+ y+ W
  13. /*                                                                          */
    : I, A, H9 [" R/ {
  14. /****************************************************************************/3 i- s0 B/ I0 n3 `* T0 h6 ?8 O" q

  15. 6 G6 E9 i' i- b. X
  16. /****************************************************************************/4 r2 u' R) E3 P' r! _8 A( j2 u4 ?
  17. /*                                                                          */1 V7 f0 K1 M" s) x9 C8 B  P# P
  18. /*              全局变量                                                    */. M/ R, R9 C3 _4 q. ?7 l/ W2 M
  19. /*                                                                          */
    ! g, m9 ]3 c: \# t
  20. /****************************************************************************/' T" R3 R5 R8 O8 p
  21. unsigned int EntryPoint = 0xC0000000;
    ! w0 W3 _' t& ]0 ]' i
  22. 4 F1 o( H" ^! d# L5 R  B! k
  23. /****************************************************************************/9 z. z, V4 p8 w, v" s
  24. /*                                                                          */
    + \  M" S/ b3 K( M
  25. /*              函数声明                                                    */$ N2 P/ h2 q3 [! Z. w
  26. /*                                                                          */
    3 Q6 b; r" z* M# h1 n( y
  27. /****************************************************************************/
    & H( L# M, I# ^4 t5 b
  28. void (*AppEntry)();
    3 I" G( e% r  S/ P4 t: _
  29. 4 W0 f& ~' z" `
  30. /****************************************************************************/& M% n6 }+ M6 G2 G( [4 t: F
  31. /*                                                                          */: T+ i8 ^8 T7 i/ @) n
  32. /*              主函数                                                      */& O( J/ ?7 l% A$ D$ [
  33. /*                                                                          */
    ( W& e- G2 \$ {- [7 u: ?3 c
  34. /****************************************************************************/
    * D9 V4 A9 l6 q5 ~' o$ T
  35. int main(void)
    7 d& _$ I$ n" S) b, y; v
  36. {) k, x2 Y1 M7 J3 I) T& F% R
  37.         UARTStdioInit();; j+ `+ e1 k, u) I# ~1 a
  38. % V& i. \3 [6 i. N' ]; t
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");* I' }( I: y/ `7 B3 G
  40. 4 H+ {( a( L6 J! a5 P9 @# D5 L- s- g
  41.         UARTprintf("0.StarterWare LED Test\r\n");: h) Z# H  L/ x( K9 \
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    3 U2 |9 d0 }% }1 {( `
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    ! ]- O: a5 Z( H
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    & h# I1 @- Y+ A  T  g1 w) D

  45. * S9 T% r* ~+ n! m* W
  46.         UARTprintf("\r\n");
    : l$ e$ z0 z& h/ R, ]/ Q

  47. : T7 |: S% z1 m& f  N
  48.         unsigned char val, status = 1;3 P5 N5 q0 x% G! m& R% s0 v* Y
  49. Choice:
    . P2 k9 l# i* b1 V2 P
  50.         val = UARTGetNum();% I2 H) T  K: v- B! C! C+ r
  51.         UARTprintf("\r\n");  U/ G' `7 ^4 z- `& L2 ?2 l- d

  52.   f- K9 J: ?6 t( N* L  j1 G
  53.         switch(val)
    ! b% f+ t4 v; C1 A  V! }( w
  54.         {* O8 v/ I+ r! N/ f, B$ g
  55.                 case 0: EntryPoint = 0xC1000000; break;
    0 |/ f: L% f3 q$ q+ {0 O9 ?
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    " }$ [6 b- A8 ~2 S1 y  N
  57.                 case 2: EntryPoint = 0xC2000000; break;
    * e& `, }) T2 v
  58.                 case 3: EntryPoint = 0xC541DEE0; break;& c) Y- F( v  N* Z+ _

  59. 9 [7 V  h5 X+ Y: m
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    - J3 @$ B9 q8 E
  61.         }
    * }1 ~+ j9 {  D" Z# |3 B3 U
  62.        
    + e! d* ^7 I* m3 O  y) i: U( ^, Q
  63.         if(status != 0), I! V3 [6 P+ A' @" q8 Y; s0 o
  64.         {
    * b1 W) a1 @2 c! [( j- s7 ?5 h/ G
  65.                 UARTprintf("Starting Application ......\n\r\n");7 b9 s7 X" M6 ~) O" l/ I! M

  66. : R& m) j8 r" M7 m7 U0 e1 J
  67.                 AppEntry = (void (*)(void))EntryPoint;# i# Z% S4 v9 R
  68.                 (*AppEntry)();
    5 e. W4 G9 K: ^+ t. U* |
  69.         }3 \* F8 s$ v1 Y& }; n

  70. . u  j9 O1 N7 }
  71.         return 0;
    : d! i( d0 `% k3 [9 W8 n9 V. R
  72. }$ p, z9 Z. Q  X  T/ u; `
复制代码

+ `; l% H/ p4 {
1 W; n: ~/ H) @: L) V1 c8 V' L8 j; j/ j; z
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了/ P( a, ^) g+ k$ L! ?) W

- r% y! {$ h1 W& g1 R: i0 Q

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 09:27 , Processed in 0.039539 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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