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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。" |" f4 V9 F  F' y
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
$ g3 [& T6 y5 \% G7 a补充:不能改变工程及文件结构% D: e5 X* Z! L. S" x
请各位大神答疑解惑,必感激不尽
7 Z5 L8 K/ A7 L+ d% g

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00( `7 T" E1 \7 D1 ?

; a( O4 f. N" ^: [! B! i# N1 K
  1. /****************************************************************************/
    4 R! }' C1 z+ j6 T  U+ L
  2. /*                                                                          */
    7 Q) J* q' F7 }- |+ e. l. M* n; e) T
  3. /*              BootMenu                                                    */# a4 K0 b- h  B$ m' J. @( W  Q
  4. /*                                                                          */' J' z( `  D- x2 S* ^
  5. /*              2014年11月07日                                              */+ H. t! D' P+ @$ L
  6. /*                                                                          */
    & n, k1 ]; a0 l
  7. /****************************************************************************/
    $ Y+ \& ?) w( z" l3 S6 ]2 o
  8. #include "uartStdio.h"
    ' g# v: b, |2 o9 l) S* b6 C; T7 w

  9. ) C) |' K) f% [
  10. /****************************************************************************/
    / B# @4 X% |6 K4 E, @
  11. /*                                                                          */
    % {. ]. `8 c( ?! f7 ~
  12. /*              宏定义                                                      */5 @9 s5 {# U8 c
  13. /*                                                                          */+ ~0 `8 O" }  k5 A& `
  14. /****************************************************************************/' `6 u* {: D4 ]: C! p5 {
  15. ! G& o" w# ^1 m- Y& v
  16. /****************************************************************************/
    & `: A4 U8 o6 K* C/ A1 w( _* ]
  17. /*                                                                          */
    3 }4 x, I( K) T  q9 e: ?+ j
  18. /*              全局变量                                                    */3 v3 U- C0 l8 h  t
  19. /*                                                                          */
    ( Q! a* G, F6 \
  20. /****************************************************************************/
    8 K* k( u' N, S$ L6 U. }1 _
  21. unsigned int EntryPoint = 0xC0000000;
    # N" ]. m, V- Y8 t. M- r5 @" m

  22. : V" k2 v2 R5 ?6 A6 y" k
  23. /****************************************************************************// }8 Z3 G0 h2 K; o/ b- }
  24. /*                                                                          */
    & M/ Y8 b: c9 |  a" c% M
  25. /*              函数声明                                                    */( A* C! m1 q7 M3 C& N3 {9 c  u
  26. /*                                                                          */
    0 f3 P0 W% ]  D& P
  27. /****************************************************************************/
    3 S" K5 A% K/ D4 [7 V1 U) f
  28. void (*AppEntry)();( D( b7 x& p% E  a/ h# ~; _

  29. + v6 F$ [6 q' h; b! M
  30. /****************************************************************************/' ^9 @4 B$ Z3 K# F$ e. t3 U% L, @; v
  31. /*                                                                          */4 T' p/ n: x6 i) c2 J1 z' \/ e7 A* f
  32. /*              主函数                                                      */( L) L* q* l/ y3 _. n
  33. /*                                                                          */2 n# V7 Z7 X  t& @9 N$ f
  34. /****************************************************************************/1 h$ H/ n* e( P
  35. int main(void)
    " [9 ?: {& A- \2 ?( f) F: @* `
  36. {
    ) u& m/ H+ B! {! x. S
  37.         UARTStdioInit();8 Y- y! ~7 d7 B# t7 ]" [4 g+ V
  38. . R% X: d, _) r5 P
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    ' V1 O( J9 @) b4 t5 v
  40.   M& d0 a  H# ~' D# o
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    8 q) ?0 g/ ^9 c* V2 L
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    + r5 M2 r. E  J9 X# t' h
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    % s: u  S3 s0 z, _" j6 l
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    - n' D: d; U+ Y" r; r" C
  45. / u8 e5 k: ]0 p, k7 N/ @
  46.         UARTprintf("\r\n");; e9 \) j- `; |! o0 R
  47. ! X. [7 O: `8 l4 _$ l
  48.         unsigned char val, status = 1;
    7 p% |# O" |. K( ]  j
  49. Choice:$ {* d) l* x0 [/ O
  50.         val = UARTGetNum();
    - p, y6 _; e9 l: \- l8 D6 m
  51.         UARTprintf("\r\n");) o" T+ X6 D$ q8 c5 S
  52. 3 W# X7 C0 G- w  P1 J4 S6 z6 v
  53.         switch(val)# ]7 Y+ Q4 Y8 u+ L8 R+ K9 l
  54.         {7 \) e# \, M* j$ B/ g4 b" ~9 R7 `3 [+ c6 i
  55.                 case 0: EntryPoint = 0xC1000000; break;0 i# b9 k% V  B0 y  v. Y$ Z/ o* b
  56.                 case 1: EntryPoint = 0xC0251FE0; break;/ p* \- h% [7 Z- c4 v5 }/ P
  57.                 case 2: EntryPoint = 0xC2000000; break;; Z, |4 N- F* j) Q% c
  58.                 case 3: EntryPoint = 0xC541DEE0; break;% @5 t6 j; T6 Z# k1 N7 C7 K
  59. $ I7 _# V) g3 x! B/ }
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    5 ~+ b5 t: a0 b1 @
  61.         }" s& {1 {; f% M# X& H3 d3 S% d, H  a
  62.         3 \* ~+ O7 T8 O
  63.         if(status != 0)
    " U  Y1 E. m) O; ?: p3 {
  64.         {
    2 T! z6 Q0 S9 h* z! b5 \7 C! h
  65.                 UARTprintf("Starting Application ......\n\r\n");
    * U: n. q0 ~  p+ I

  66. : ^; v" p# f! b
  67.                 AppEntry = (void (*)(void))EntryPoint;
    - z* k& `, D  W
  68.                 (*AppEntry)();& G' ?/ D# j$ y" E
  69.         }
    7 |6 s( K& i/ C2 R5 s- O! k
  70. & Y# z+ O' p% r- I5 [- f4 J4 l9 K
  71.         return 0;9 m+ ]) l: `& o& H8 o* ?
  72. }! z5 q2 `7 t( b) k: Q+ F2 ]) D9 ?6 v
复制代码
. {# n4 d- I6 T  e: a# t: o
# f" J0 P9 y$ }, o* m3 F3 l! B
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
5 L5 B0 {8 x# ^4 \# W
; ?) b0 u  c9 C$ h+ m2 n

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 02:11 , Processed in 0.105477 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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