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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。8 r5 y$ \) o2 t8 u8 t- }- p- _; O
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?0 T7 U1 t& a+ P- K" S$ e9 C; j
补充:不能改变工程及文件结构. G; X. A) Z  L4 U; E
请各位大神答疑解惑,必感激不尽+ J. h" q3 R) T3 r9 S1 U1 Z0 H

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
, ]2 c) K% [" W9 _9 }) Z2 }$ y1 x1 v7 ]4 O5 c; Z% Y5 @) v
  1. /****************************************************************************/
    , H6 N3 k9 k! l. \# n% e
  2. /*                                                                          */
    3 s: E6 i8 s% A5 J1 d: a
  3. /*              BootMenu                                                    */
    6 k3 d. @5 O; n# O$ X0 u4 D
  4. /*                                                                          */* F# v5 o) G" J7 u$ H* p! g
  5. /*              2014年11月07日                                              */
    0 x2 D2 B$ d8 b: @$ J
  6. /*                                                                          */6 w7 T2 k& J* g) D
  7. /****************************************************************************/
    ; H- L# B! c$ _/ y- X* i/ F
  8. #include "uartStdio.h"
    " c% s2 I( X" B: x0 g' r5 m4 Y  c

  9. % {7 w; C4 h( K9 R
  10. /****************************************************************************/
    ( u' c; v/ S( [4 ]
  11. /*                                                                          */4 ^8 o+ j( g9 H, a$ G
  12. /*              宏定义                                                      */
    9 R5 w3 Z. s! A: t) P
  13. /*                                                                          */
    9 w8 `% T2 Y# Q$ h
  14. /****************************************************************************/
    : r( L/ j0 u, g6 ^& i; Q9 C, L

  15. ) D% B4 V& l+ c* E# y' m# }6 l
  16. /****************************************************************************/0 |- u- h! u+ a+ B
  17. /*                                                                          */
    2 M* T. Q3 u/ N) x$ J# l
  18. /*              全局变量                                                    */, N( D5 o. K0 ?
  19. /*                                                                          */+ ^2 X3 b! Q9 A  L* y9 A
  20. /****************************************************************************/
    5 W! N0 ]9 c, W, x9 o) ^6 x$ X. f
  21. unsigned int EntryPoint = 0xC0000000;
    7 {" V' T4 J  W; |8 N3 L5 y( a- t
  22. . b. @/ x) J8 n
  23. /****************************************************************************/
    7 X3 q6 x4 ^- j: w, X# s
  24. /*                                                                          */& Z* e; a0 K, D4 ?3 _; v3 e
  25. /*              函数声明                                                    */
      o$ h7 p' Q2 w$ V
  26. /*                                                                          */
    8 l. k* y2 V" U3 @/ p- \
  27. /****************************************************************************/
    & R2 A8 O; P/ ]8 t3 [! S
  28. void (*AppEntry)();
    7 t/ M+ I2 s/ K

  29. * `5 y* {3 {* k
  30. /****************************************************************************/) _, ?( f- X7 J2 v2 L* [; J$ t
  31. /*                                                                          */3 V' V1 S, z  j  S/ J
  32. /*              主函数                                                      */
    - X9 A+ d" h! e' M
  33. /*                                                                          */
    $ M& U1 ^( Y. O& @$ M
  34. /****************************************************************************/
    ( C9 w  n0 A$ v" h! h/ r7 f
  35. int main(void). L3 [! n' l+ w6 t
  36. {( i8 P) o3 P# B8 w
  37.         UARTStdioInit();
    3 j! S, h( F$ L

  38. & r5 u$ t- g  p) {
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    3 v$ [, T5 H7 r3 ]9 {

  40. " {; o) \% J2 }' M
  41.         UARTprintf("0.StarterWare LED Test\r\n");1 ]# ^6 _8 w0 s/ ~
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");8 j4 J; G" A( I4 c. L4 y" g( S
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    * ?1 L; K; V- y. J0 R& w3 p
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");/ }& t0 f2 `" v* c2 T  H/ I. v
  45. 3 C8 t+ `% n, f0 A5 k
  46.         UARTprintf("\r\n");0 K/ k. V! q& }  n. T" z
  47. - |) S9 t) U% c; O0 ]; |, I
  48.         unsigned char val, status = 1;
    0 p5 l: M, L9 X% \1 n( l
  49. Choice:
      H+ h  ]  A' t9 @% j
  50.         val = UARTGetNum();
    3 c; `: I0 D8 S3 S
  51.         UARTprintf("\r\n");
    ; i* w0 x# p1 _3 Q; J! r
  52. 4 c( L% n- M4 q  h' K5 h
  53.         switch(val)9 l: C' N" Z0 C# B1 K  w
  54.         {
    & p3 [/ K9 m( Z0 a" e$ P; J2 j
  55.                 case 0: EntryPoint = 0xC1000000; break;
    1 L  k# N: Z  @" C) R
  56.                 case 1: EntryPoint = 0xC0251FE0; break;6 i) M4 \+ J4 Q3 `
  57.                 case 2: EntryPoint = 0xC2000000; break;  W/ m- T% v) _# M% X) Q
  58.                 case 3: EntryPoint = 0xC541DEE0; break;6 X3 {4 J9 }. g3 v0 {
  59. : l( R  D6 E5 N8 p+ k
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;4 @7 J3 V  R3 f& T
  61.         }
    9 v; d7 N$ U" F) p
  62.        
    3 |6 N$ l6 n2 F5 i+ V
  63.         if(status != 0)
    # |0 E* I; b5 O. B7 H1 X. p
  64.         {( N) T' b/ G5 V+ @. Y3 N: A0 N
  65.                 UARTprintf("Starting Application ......\n\r\n");/ K  |4 Z# o* _- Y% _

  66. 7 X5 t( a) Q5 e& {
  67.                 AppEntry = (void (*)(void))EntryPoint;  y: Y$ C" Q/ M( I& R
  68.                 (*AppEntry)();
    : C( u$ G( ~& O
  69.         }* O) F, a6 l5 g8 M: I
  70. 6 S9 `- G7 y9 ~4 Z( Z7 v! S- Q
  71.         return 0;
    3 h7 y' t- G) P5 P* z
  72. }
      ~7 v7 B2 R& E# O3 |; s4 E
复制代码
* j' j5 w! X) H- F) h# N
% n! }* F2 W- X, h1 {! g- G/ O
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
6 c" g( ^. X' b! t/ C9 A- O9 T$ b* d3 j

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 00:21 , Processed in 0.055348 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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