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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。: N# M2 I) t; {& Z8 _
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?" q# }* R, W& E! @3 C( C+ e
补充:不能改变工程及文件结构
: [1 u5 |. _: }* g1 [请各位大神答疑解惑,必感激不尽
* G2 ]4 `9 I% m# z9 D

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
. c1 o! L' [) c7 D4 z* f& ~6 o! F* `  O0 n  N+ a* u
  1. /****************************************************************************/
    5 {' z7 r- b$ h
  2. /*                                                                          */* O1 u$ N# x( G' _9 Z+ ~% H( I/ @4 E. R
  3. /*              BootMenu                                                    */6 e) S/ H, ^# y) N. I8 c
  4. /*                                                                          */
    " p7 n, E4 ?( R6 }: q/ m% x% k9 n
  5. /*              2014年11月07日                                              */
    # N' S! D  E) Q, |! e0 I
  6. /*                                                                          */  g; ^+ S. H- Q% T9 R
  7. /****************************************************************************/
    2 H7 t8 @6 g& u5 ]& i- p3 Q2 y$ F
  8. #include "uartStdio.h"( e* {5 x& s$ [" r
  9. 3 w+ B& W* r! }  s5 V9 S
  10. /****************************************************************************/. G3 c- z1 h3 M5 w% \8 H! n
  11. /*                                                                          */, i) L7 H' Q1 D5 ?- G$ l
  12. /*              宏定义                                                      */7 T' E9 Q) ]3 I
  13. /*                                                                          */
    8 b6 R0 \" _; ]2 ?  m3 I% h  M/ O6 z
  14. /****************************************************************************/
    ; i6 o) Z( \6 \! u" c( k8 I' E
  15. + i& D, f- e% }4 [
  16. /****************************************************************************/2 i! F/ X' Z# {
  17. /*                                                                          */- y: P9 b( M4 C& A, `
  18. /*              全局变量                                                    */7 I: Y! g, ?" I! J
  19. /*                                                                          */
    " H% D# P. Z6 G4 c& G
  20. /****************************************************************************/
    6 R9 E: _. X3 _/ G
  21. unsigned int EntryPoint = 0xC0000000;
    6 e+ Z* `8 \1 c- \. b% k+ y. B% F9 {' c* V) j
  22.   U% i$ i0 E( t( d8 R+ w# [. |, b
  23. /****************************************************************************/
    * J2 o) s# [" N2 Z
  24. /*                                                                          */. J8 b2 g, V, E! _) @- I
  25. /*              函数声明                                                    */
    . |5 c8 X2 Y" v1 ^. d3 u
  26. /*                                                                          */
    5 `0 V9 ?. @: g' |/ T
  27. /****************************************************************************/4 s9 D4 z: D4 H# [% L
  28. void (*AppEntry)();
    2 \- D% }. v, i
  29. * K" h" h  X& g: m$ R
  30. /****************************************************************************/" H7 b, ~7 i4 W: G' c* \
  31. /*                                                                          */
    % W* t2 U, q8 w( F( b- U: Y3 k
  32. /*              主函数                                                      */
    ( _3 K; i' M7 ~" Q4 _
  33. /*                                                                          */. ~" i  \+ t& p! C! ^9 G
  34. /****************************************************************************/+ B, P8 |! T! Y
  35. int main(void)
    , `1 y/ t8 }- X% M
  36. {
    8 i' u+ X; G% X0 W" Q, C
  37.         UARTStdioInit();- A! }/ w2 |8 b: ?8 r

  38. 7 b' C) L- I; v
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");  X4 I* d, S: F: P# G8 Y
  40. ) ^$ W4 |* T9 c9 b, l- b4 t: t
  41.         UARTprintf("0.StarterWare LED Test\r\n");6 I8 U' Z7 E$ ~' `, m
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    8 a# Y8 F' h9 D" x- K- n
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");: v: O, E3 b7 E0 u
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    # D2 f' l/ @# F* x
  45. 5 y$ D+ K- t4 V9 g& g, x' x
  46.         UARTprintf("\r\n");2 j! ?$ l# o7 n$ e3 @
  47. 1 c! ^5 p2 [% J6 g+ L  N& x
  48.         unsigned char val, status = 1;' c+ V% ^7 n& Z! J
  49. Choice:
    1 w, @" e* s% w1 T3 J
  50.         val = UARTGetNum();
    1 U! O; [6 h! [5 W. _
  51.         UARTprintf("\r\n");8 d2 h  x0 P' m: ?
  52. 2 r# g) J" ?, D$ T; G+ ^6 t8 H
  53.         switch(val)" q" `2 j( I; \8 Z: W
  54.         {3 F1 W3 X; D5 c; I8 ^
  55.                 case 0: EntryPoint = 0xC1000000; break;
    ( S( \- s2 k6 O3 N0 F
  56.                 case 1: EntryPoint = 0xC0251FE0; break;, f- o0 Q# y3 ^1 j  c) q. G) l5 k
  57.                 case 2: EntryPoint = 0xC2000000; break;* i$ ?+ G" e7 k9 m2 [8 P
  58.                 case 3: EntryPoint = 0xC541DEE0; break;' M1 N% o* k, ]! [7 y
  59. 9 s, _. j  r2 {4 ]  N) Y0 }
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;. g% x! g1 M, I3 u" x8 Q) e" T1 r
  61.         }$ s) T( J( v5 ?+ ?
  62.        
    + _* j$ E* ?$ X- s" @
  63.         if(status != 0)/ D3 U6 O9 B/ T7 H
  64.         {5 Y, p3 P& E- K9 r
  65.                 UARTprintf("Starting Application ......\n\r\n");" r. n0 E& A  G. V" Q  j
  66. ' f- [/ i/ D  E9 F% Y
  67.                 AppEntry = (void (*)(void))EntryPoint;; c1 J5 t5 K1 z
  68.                 (*AppEntry)();" w5 Y, g) s* N! F! a2 }
  69.         }% R3 ]3 g. G6 F$ C9 a
  70. : Y. t9 k- S0 Q& d5 b7 n; V
  71.         return 0;
    2 c3 M& |5 r8 k8 e0 j) N  S
  72. }6 F3 ?; ]% x* d% Q
复制代码
7 ^' ^8 A+ l& t, B7 v& S. D  G

; {- ], {- ~" O0 S& K2 j' Z
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了% M, K5 Z8 \, v0 ]" r' J* i. {
& w! {1 p4 {' z& C

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 19:49 , Processed in 0.039052 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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