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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。% b0 }, K0 \5 {9 [, w0 |' Y
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?; o2 u2 g) u# ]( _( p# A
补充:不能改变工程及文件结构# v$ D; j: w* e; J6 k
请各位大神答疑解惑,必感激不尽
2 i5 s2 v7 l* }9 B2 ^8 x9 w1 [

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00: k6 K( F( ]& m/ I' N0 P( z% \

: K/ i. h" m5 b: A% L0 B: k
  1. /****************************************************************************/& G' f* [! B! o) p. R
  2. /*                                                                          */
    9 N3 W( t2 R  {  C0 O
  3. /*              BootMenu                                                    */
    " |8 I' X. {6 d$ k* P
  4. /*                                                                          */, |4 W7 K9 C1 s- r$ _' |3 K
  5. /*              2014年11月07日                                              */
    0 Q7 W: I0 D' c: S% {
  6. /*                                                                          *// N7 l8 c2 q  ?( }' Q7 r* s
  7. /****************************************************************************/
    , {- s  B* C! m( M# J: I
  8. #include "uartStdio.h"7 }: Y- O7 l0 K! r4 \4 D4 s
  9. - T* |3 `/ i" f) {1 f! h2 J3 z
  10. /****************************************************************************/. B4 @! i- a4 j$ x' b; d
  11. /*                                                                          */& e/ @( d# \' r3 m$ A4 x/ u& j
  12. /*              宏定义                                                      */; d5 Z+ D# p& e
  13. /*                                                                          */
    , R& W; a& a) E8 U3 m9 Y
  14. /****************************************************************************/# n2 C  x- j+ _4 i

  15. 2 F7 ]& W& Y7 j" f8 x, }0 v
  16. /****************************************************************************/
    2 R0 m# B6 \! Y" X1 p
  17. /*                                                                          */( Y9 l0 \5 O6 l8 I, D
  18. /*              全局变量                                                    */- Z; L: a2 _" E7 _
  19. /*                                                                          */7 }+ y6 f  L  x" v1 |8 I3 Z
  20. /****************************************************************************/
    1 z" E2 L6 b8 {5 o1 s8 J7 h
  21. unsigned int EntryPoint = 0xC0000000;
    % o9 p3 k6 f6 [/ g
  22. 8 |+ @( M9 X: Z+ Q1 R$ N
  23. /****************************************************************************/3 _0 z5 o/ n9 T$ [- t& F  g
  24. /*                                                                          */( S9 }9 B3 y& e
  25. /*              函数声明                                                    */' Q" j" K: X) k$ |  n
  26. /*                                                                          */! G& x0 n/ L7 e7 b( {3 w8 k
  27. /****************************************************************************/3 c2 L; G9 K. U- y
  28. void (*AppEntry)();
    4 T" t6 K7 N: _6 A
  29. ) c; N- t! M* e: h
  30. /****************************************************************************/
    $ |& W" h! U5 \! l
  31. /*                                                                          */
    ' S( R; ~2 V. V$ a0 d
  32. /*              主函数                                                      */5 G* ]- U% D: ^- }8 [4 F. R
  33. /*                                                                          */
    / O9 [+ ?; k  X% A$ T3 L1 c4 q
  34. /****************************************************************************/" u) B8 Q+ D, e  Q. Z! |
  35. int main(void)
    % a( ?! t4 n8 P
  36. {
    * M4 `4 O  k& o6 I1 b
  37.         UARTStdioInit();
    ! d$ F0 L" c1 I4 j0 L
  38. 1 t  p9 `* r! b* ?. D) r% J2 r# h
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    & \+ @# Y0 M9 I: x8 p. ?) v  W5 W% K" c
  40. 4 [9 v, r7 ~7 r* ?$ j2 Y
  41.         UARTprintf("0.StarterWare LED Test\r\n");3 Q! t+ N& ^1 u1 C8 E! Z
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");: Y+ q$ P2 s3 G# e
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    ) c! A( w! Y; U
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    * K# {6 x% G4 |! Q' z( I. n

  45. 8 R+ ~5 y8 h2 k4 d) ?: N
  46.         UARTprintf("\r\n");4 w, k8 A; |* B! N

  47. : b, a4 m/ t9 h- J
  48.         unsigned char val, status = 1;
    # [9 ?) J$ m( w3 B( n  J
  49. Choice:0 w+ G/ w" I/ v2 Z2 u) O+ S6 N1 a
  50.         val = UARTGetNum();
    . j5 w* W% ^0 {+ d& o" h
  51.         UARTprintf("\r\n");$ I8 ~4 f, j9 n( d- V. B

  52. * `0 J5 w- s/ s' ^  I
  53.         switch(val)) j& I( ]! y' t  Q) U% ?9 F  }/ V3 b
  54.         {  j$ F3 @6 ^: H( p* v' @
  55.                 case 0: EntryPoint = 0xC1000000; break;0 x* c) f2 ?5 L' I/ j+ s
  56.                 case 1: EntryPoint = 0xC0251FE0; break;7 A, d1 }, z  M% A
  57.                 case 2: EntryPoint = 0xC2000000; break;. G* s' Z) C6 g' m: }
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    / ~5 h0 Z$ ^& i

  59. & r/ H. ]( T/ V; f2 ~: ]
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;; f7 m# G1 z7 s7 i' t+ a" k+ C
  61.         }0 B& A# n# ?  a! V
  62.         7 _9 h6 W) |0 {. i/ s% n
  63.         if(status != 0)7 V( y9 T1 F: `7 C
  64.         {
    8 q  h/ b# N9 u( w( [* x, b
  65.                 UARTprintf("Starting Application ......\n\r\n");1 \& L6 X" E: N. @- M

  66. ; V$ ]+ E, F0 N* U
  67.                 AppEntry = (void (*)(void))EntryPoint;
    - H( ^' _& r1 }* E' \
  68.                 (*AppEntry)();& D  z0 U- R$ y" r: G- w3 u
  69.         }
    3 |6 _. W; Y" v' B8 M
  70. * V8 n( W( i2 l0 d  I
  71.         return 0;" v# n, l5 [/ I, V3 N1 j# T  U
  72. }. I4 w# \; I  |3 j2 }, ~' [5 a
复制代码
! N' H2 ?" ?. `7 [0 C
7 D  A# x% g; O4 @2 k
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
$ \" ]7 M& s9 i) e3 _( d1 n- D. h  S. N" {" M. M

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 16:16 , Processed in 0.039990 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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