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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

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

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
' t4 E$ d7 v  E. x2 ^( o' V# [, u" C* x9 X, Z6 f( }; G
  1. /****************************************************************************/; P% w) o1 L  y$ G1 y: D6 z
  2. /*                                                                          */, k! K" P( i7 V, w# o0 [
  3. /*              BootMenu                                                    */
    9 S2 w6 t! Q$ M% e/ L* ^8 a
  4. /*                                                                          */
    9 R. p2 k$ W* o  J$ ]+ j
  5. /*              2014年11月07日                                              */! i7 f# K9 A$ [& I1 L/ f
  6. /*                                                                          */& W* b( ^) t# h3 c$ |
  7. /****************************************************************************/
    % j5 k1 W8 d1 g& ~* l! p7 v
  8. #include "uartStdio.h"* u# O/ A" b7 l0 F5 a, B8 B1 j3 c
  9. 6 @. k& d1 n  R$ ?& \" q
  10. /****************************************************************************/* l7 o* E) N2 x6 X
  11. /*                                                                          */
    + N) Y5 V! C3 V# T' |
  12. /*              宏定义                                                      */- u. X( a5 }0 n' f! c' L
  13. /*                                                                          */
    $ X3 P9 u/ C. V# [4 }
  14. /****************************************************************************/: @5 @: G7 b+ w2 I9 l2 D; @+ o

  15. 8 [) b( U, [2 Y: `6 A3 S  K( f
  16. /****************************************************************************/9 P, S3 A( F& K& a8 D4 c
  17. /*                                                                          */
    * N8 Y1 W6 c6 Y/ j7 j% W' k
  18. /*              全局变量                                                    */
    9 t; [9 }' ?# ?1 U
  19. /*                                                                          */
    # e# a6 s# U  [8 \9 x% e; ?5 r2 m7 f
  20. /****************************************************************************/! {: ^$ H0 H6 }; q6 g# H2 h
  21. unsigned int EntryPoint = 0xC0000000;
    . \2 Y3 C; l/ H4 Y3 p+ Z4 J

  22. 6 f" J9 T) Y4 P; |9 `; c: E
  23. /****************************************************************************/- ]# q5 O6 O: Z9 X( t6 [
  24. /*                                                                          */, `3 k# X8 Y, u5 {! A
  25. /*              函数声明                                                    */
    ; p: ?" e: ]* p! p# K2 ^
  26. /*                                                                          */
    3 m3 h) `* i6 m
  27. /****************************************************************************/; M9 s2 A, O1 x. F
  28. void (*AppEntry)();
    ; X) W6 L6 M% n, \9 e+ p
  29. % `( U' M+ [9 G) Z5 w) [; _/ H* r
  30. /****************************************************************************/
    % Q6 [  S6 n/ O5 I: q, O
  31. /*                                                                          */1 C0 t# f& j; U  C8 ~' t
  32. /*              主函数                                                      */8 \- L- q/ S: F) ]
  33. /*                                                                          */3 [6 [  l! ~7 m* F2 L; v1 z
  34. /****************************************************************************/: Y. M/ j1 C- A. Q' {9 Q1 L5 u
  35. int main(void). [1 g1 i( m$ A- \
  36. {9 u$ d1 Z5 V9 x' v9 A
  37.         UARTStdioInit();
    3 h% Q& c+ x5 [( Y
  38. 3 z1 s0 y" H$ `/ }+ [" X5 p
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    % g6 p9 K8 K4 |) Z( C2 K4 {
  40. ( X0 p) U5 h8 b- B
  41.         UARTprintf("0.StarterWare LED Test\r\n");4 o& S- M2 c8 `0 n
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    7 T" Z4 |( @& U" B# s
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");' }' p7 D0 ?; z+ U
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");! D1 C0 H1 @% Z1 c4 D* m( J1 s
  45. 4 [) b4 }7 t, g$ D0 t3 _. L
  46.         UARTprintf("\r\n");
    , ~# y4 e1 G1 J8 P. E# P5 ]9 B5 {. _" A
  47. % V; n4 `! U0 A  p1 D
  48.         unsigned char val, status = 1;2 a3 L7 @8 J) J) m6 c
  49. Choice:  i) d- P1 T3 T: T) K
  50.         val = UARTGetNum();1 z% [6 J5 ~. g+ R# C. ?6 Q
  51.         UARTprintf("\r\n");; g) g- ^! B7 G5 ?. m7 M. q6 G

  52. $ G# l' X% `( R) J
  53.         switch(val)
    ( @  ?4 ~; s! O7 a- G6 f4 z) ?
  54.         {
    % u, o5 a# P2 {/ L
  55.                 case 0: EntryPoint = 0xC1000000; break;
    1 J& k! t4 [5 O$ }
  56.                 case 1: EntryPoint = 0xC0251FE0; break;7 X0 ]1 ~- D2 v
  57.                 case 2: EntryPoint = 0xC2000000; break;1 f* D- [3 ~4 V2 q1 w5 ]
  58.                 case 3: EntryPoint = 0xC541DEE0; break;. S  g' n7 P9 @2 @, q# W

  59. / K' S: S+ s6 T# U7 o5 c
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;5 u7 }2 i" v, e' O1 g, [
  61.         }6 \& Y8 d! {8 ]8 [' o5 _
  62.        
    % w6 w2 I& q1 N! |. L
  63.         if(status != 0)
    ! v9 o- b4 c. x. M: w& L( A" W
  64.         {
    ( C6 e: G4 @& i5 V3 Y
  65.                 UARTprintf("Starting Application ......\n\r\n");, y& u/ d7 |. t$ R2 }

  66. - \: [% ?8 `5 ^$ d/ Z
  67.                 AppEntry = (void (*)(void))EntryPoint;; O% w( e3 }' z- A/ s: `
  68.                 (*AppEntry)();
    9 D: j0 X) s- Q$ R1 W6 f3 v3 I& d( o
  69.         }6 z# l) u. e6 |

  70. 5 X8 Y" \+ |: A* _; \
  71.         return 0;
    / m1 u+ W0 k% i. O
  72. }0 |/ C+ m5 K# ~6 B: `
复制代码

+ ~0 g. A$ y8 ?1 R* {! H0 R
" I6 ~, ?$ ~) K5 d
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了& F) k- p; `9 K7 s, g# {1 T

, C# j- H  g: g1 U' e; u, E* B

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 12:11 , Processed in 0.040002 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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