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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。. G8 M- w) o5 D9 Q! T/ \
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
% ?% \) R) B! V& |) Z补充:不能改变工程及文件结构/ K6 m9 r  |. f* i
请各位大神答疑解惑,必感激不尽" ^" X: g+ p( t- X

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int004 R; e1 z7 E  s3 @  o; K

6 _8 C! }5 q7 i: k" j) P* `; I
  1. /****************************************************************************/; {$ y' s* T% ~1 t* d3 X
  2. /*                                                                          */
    ' u# _. k4 d: I7 v
  3. /*              BootMenu                                                    */& [) F3 V/ \2 a
  4. /*                                                                          */
    3 M. w1 I% V; N+ L: L
  5. /*              2014年11月07日                                              */
    6 f6 A* |) @4 O( X# \) ]) J
  6. /*                                                                          */$ H  t/ B4 m" Z4 _/ ^" ?2 \
  7. /****************************************************************************// ~) I4 \4 ^8 G- Q
  8. #include "uartStdio.h"; ?3 H' C3 S, X3 @' V
  9. 8 k& _5 `( V+ |; B
  10. /****************************************************************************/
    " \; x6 S9 G/ n! k
  11. /*                                                                          */
    ! L! ^. j3 v' P: A5 ]
  12. /*              宏定义                                                      */3 \% y" j) C) T6 R
  13. /*                                                                          */8 d+ H0 L3 b2 Z  \2 }  y& Q
  14. /****************************************************************************/3 M1 ?# y8 [. p3 T$ r
  15. , L  c, ?* W; A
  16. /****************************************************************************/
    + d6 T# Q, o( L9 q6 u& T
  17. /*                                                                          */
    ! C' k" K$ H# ~7 b4 z
  18. /*              全局变量                                                    */, W  d0 z+ K; g' ~) U. i4 ^
  19. /*                                                                          */- H% u1 N: S/ w, i+ @
  20. /****************************************************************************/7 G7 [: y* ]. W
  21. unsigned int EntryPoint = 0xC0000000;
    , Q6 p/ h2 L8 n$ r0 n% R! ^

  22. 8 O# E6 d- L) v' B# K6 [
  23. /****************************************************************************/
    ) h  a9 S/ c0 |' E
  24. /*                                                                          */% {! u& [+ k/ G! J. ^# _
  25. /*              函数声明                                                    */* ^. Q  M0 Z, L; o6 t
  26. /*                                                                          */. O& t3 r9 e7 v8 ?
  27. /****************************************************************************/
    1 G: w2 v, ]9 {& s
  28. void (*AppEntry)();2 i+ x# |$ a! T' Q, k' u

  29. * ?/ G+ D7 k9 o( P, h
  30. /****************************************************************************/6 _& ]" N; t+ J8 e
  31. /*                                                                          */! S' g3 K9 r9 M2 r
  32. /*              主函数                                                      */; }8 J8 Y* O/ X( u% Y2 y* D) {
  33. /*                                                                          */" b' e+ |! f/ d/ i1 c* L( {. }
  34. /****************************************************************************/
    5 a% i% x2 w# s  K, ^0 T
  35. int main(void)7 f! A1 ^$ U# ?0 ?5 U! W, p
  36. {
    + K8 k+ O6 N/ [) V( `9 v$ {* m1 [2 y2 j
  37.         UARTStdioInit();
    2 J) x$ N: d  m2 p- e

  38. " j* ^( s8 ~) ~; v  v# p4 J, L
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    3 C- N% J4 ~7 b4 E# I$ n& [& ?& e
  40. - F2 L" H- v5 ?  j  l
  41.         UARTprintf("0.StarterWare LED Test\r\n");: y0 W% Y5 t' J; H
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    . ^0 ~3 [6 @$ \- `
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    5 D; M; T8 r4 C% R# E" k( ?& {+ A
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    2 w% B: n7 ?5 f- y$ T: M0 u9 M
  45. 4 B! v/ S( O% c5 {# W. H
  46.         UARTprintf("\r\n");1 ?  }, c% x" K# L2 y% ]0 P

  47. 8 b4 y; v% K* E0 E
  48.         unsigned char val, status = 1;
    ( \9 u8 _9 ^/ s4 D
  49. Choice:# S9 F) d( r  L- C
  50.         val = UARTGetNum();6 r( k5 r' x# x5 i) M- O
  51.         UARTprintf("\r\n");
    - T/ z% m. u# @
  52. 3 m9 K, C" f( O/ W
  53.         switch(val)
      T2 I# w0 f+ O9 k0 U1 q) S9 _
  54.         {
    . k) f5 I) N9 X: F/ w. D' q7 P
  55.                 case 0: EntryPoint = 0xC1000000; break;
      S* k5 @* n: Y
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    $ I4 W, q1 z2 [4 {6 Y
  57.                 case 2: EntryPoint = 0xC2000000; break;) i, O$ A4 B0 y8 X. |6 O5 I
  58.                 case 3: EntryPoint = 0xC541DEE0; break;# L4 F7 X* B. Q) C" M  P

  59. 9 k9 ]1 J( ~& R
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    # p3 @8 F9 U2 N' W4 E
  61.         }5 g- [. s( N! q- ^# Z
  62.        
    # d0 ^1 t$ b. O( |% D
  63.         if(status != 0), l. [* r4 {+ v
  64.         {: F& E$ P. y* T+ ?3 j
  65.                 UARTprintf("Starting Application ......\n\r\n");" Q% O0 P+ J8 G4 W' L8 |% z! T+ l
  66. # n4 X7 o8 O% |4 M/ o
  67.                 AppEntry = (void (*)(void))EntryPoint;) x: z8 Y( {  X+ s7 y
  68.                 (*AppEntry)();
    2 a5 |" F* G0 ]. {9 c' g' Y" G
  69.         }; w, G* k1 N! l  q& }- }) N

  70. 2 S9 ^4 q7 O) E7 _) S% F
  71.         return 0;
    & J% O  g$ U. ?9 z* a# y1 D
  72. }* }7 L1 `; ]) M# T; ^# C& j4 P
复制代码

$ y! j- u& O6 `2 m0 ]9 @9 n+ Z
2 y# {# X5 t  M: ~0 O2 l
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了  Q( h- s! @; @' ~: K6 R

, e" e& Q  |: Z

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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