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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
1 l6 O3 Y/ Z: B# D6 _3 N问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?& g; {, A( _0 a$ p5 m
补充:不能改变工程及文件结构/ f3 p9 I  W& _7 _; b; H
请各位大神答疑解惑,必感激不尽
# s  V3 [8 q/ \0 t

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00+ f4 z1 H# g: U; u' n5 l- i
' e9 ~  j$ D* G# Q* T, d
  1. /****************************************************************************/
    9 c/ u6 h5 g5 y; O3 e' R/ o/ b
  2. /*                                                                          */
    + V2 C$ k: B7 R1 _, f# M
  3. /*              BootMenu                                                    */
    ! ?- f: K8 G! Z- b7 J9 I
  4. /*                                                                          */
    2 T' F( ]: a: j% y
  5. /*              2014年11月07日                                              */
      ^( W9 o; h7 G  d. A
  6. /*                                                                          */' g4 \: @+ A8 R
  7. /****************************************************************************/
    & ?% R' t* P! i; b$ [. r/ v- a7 T# n1 b* R
  8. #include "uartStdio.h"
    ! M! K- L8 b' `

  9. 2 {% K" e6 H+ ^: X& ?! L9 u, J3 K
  10. /****************************************************************************/6 P0 w7 L, _7 q+ t9 @" h
  11. /*                                                                          */# c7 Y5 x1 u  c2 r6 f
  12. /*              宏定义                                                      */
    $ w- W1 i) O+ t; g
  13. /*                                                                          */
    7 y5 F6 l9 }- U
  14. /****************************************************************************/
    & J9 S8 A+ u; V2 c6 k6 E$ c- p
  15. & U% \4 i- P  y! _
  16. /****************************************************************************/
    2 v( o! x+ l, i& ~' O0 i# H
  17. /*                                                                          */
    & {% A& S# p" o2 _* Q  w
  18. /*              全局变量                                                    */
    ! j: S& v9 q& ^3 o2 I
  19. /*                                                                          */5 o8 r5 M, B* F1 R# i
  20. /****************************************************************************/% F% M# f9 K. C- R0 K' a
  21. unsigned int EntryPoint = 0xC0000000;& f! M4 K- w" `% F6 p

  22. ( H8 M  s0 g$ S: L8 X/ ~; F& ^
  23. /****************************************************************************/
    9 {8 k5 [" W; A" \: V  @0 k
  24. /*                                                                          *// P- {2 ^! @  Y4 F$ Q% ]
  25. /*              函数声明                                                    */: H$ i  S/ ~- D* N
  26. /*                                                                          */& V8 y* D2 \1 r$ t/ Q5 H
  27. /****************************************************************************/, M5 X  T* N5 a. a3 X& Y
  28. void (*AppEntry)();# n( O7 |( P- l# f6 X/ S

  29.   r' T  U# A6 r( b; g6 `5 J$ o& E
  30. /****************************************************************************/: ?% i1 |# P' l
  31. /*                                                                          */
    3 R; ^& y# c% Z" |! {
  32. /*              主函数                                                      */
    ! X9 `" o) R* Z7 F8 C# A
  33. /*                                                                          */+ x6 \& i6 t% ^1 i" z9 H# z
  34. /****************************************************************************/7 P: T; V8 T7 C8 M8 g  v/ A# Y
  35. int main(void)- d7 ?, u, d  l9 [  J0 X: V
  36. {
    " Y6 x8 q) o' o1 n/ F3 {
  37.         UARTStdioInit();2 q5 y% }) `* `% z$ }2 ^9 D/ F5 V9 _

  38.   `1 V) x5 U* @2 v. Z( {0 M7 C0 I
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    5 W! I; H5 O2 ^* p# s7 G1 }

  40.   h: g* i- I7 a. G6 o- s
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    3 p9 P3 Y) g) Z$ Z9 |
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");1 T; v5 x: c# A9 x) l
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");9 F0 n& b: o5 S* m, L9 F
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    7 e4 P( H! w" {

  45.   Q3 G3 C$ t; Z7 |# _2 @
  46.         UARTprintf("\r\n");
    ' V7 y5 _. ?7 d# ^2 w3 }5 @! s

  47. , E; T: p) h% l# c4 I
  48.         unsigned char val, status = 1;
    ' ?* R  s+ |; b2 w  Q
  49. Choice:
    4 [! f8 G9 T3 w2 ?& D1 d
  50.         val = UARTGetNum();# z; n$ m! p) f: O; S% T2 W/ `% P
  51.         UARTprintf("\r\n");3 @0 }9 ^0 W+ R" W1 m
  52. 7 u$ I3 O" w: p: Z0 S7 s9 n# V
  53.         switch(val)( n' T! D6 o4 Q
  54.         {
    0 x: R# M" p# o- g* ?
  55.                 case 0: EntryPoint = 0xC1000000; break;+ j% |! g5 h( s7 _( ?
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    , p7 g. `  K* i$ i
  57.                 case 2: EntryPoint = 0xC2000000; break;) A( _. i% H, A: b) J3 z" N
  58.                 case 3: EntryPoint = 0xC541DEE0; break;7 V! n. u; B; i- Z
  59. . b6 t$ N/ y' B. J( F8 O: s7 J* @
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;: N2 `2 M3 K1 r  N9 {4 k8 R
  61.         }
    , J5 Q1 a& h# i( T
  62.         0 ]/ e0 e/ S* r2 h  G' Y
  63.         if(status != 0)
    7 y4 p" S" U- a7 P, {8 Z  _# E
  64.         {
    6 d- N( G  y" }7 Y: a& X0 Y
  65.                 UARTprintf("Starting Application ......\n\r\n");4 f$ k6 ^# O6 {. x" p

  66. % Z9 Y0 M( V8 Y& @$ p# f% N
  67.                 AppEntry = (void (*)(void))EntryPoint;* t. x* n6 |+ [7 H6 u
  68.                 (*AppEntry)();( M$ C( j* y- I
  69.         }
    8 y8 \  s0 c( M3 s

  70. + a! M  m2 M4 }# Z7 E* A: e
  71.         return 0;
    8 y. t% y7 d& Z  X7 z. Q
  72. }
    * q. d6 F& o5 I2 X% t  P
复制代码

) f. i* g# ~4 ]9 r/ h
$ I5 S3 n: X! H+ K* @5 y) \
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了/ X$ D8 s* \7 v; z+ C) `) u

/ Y. X. |) y! a+ W

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 15:10 , Processed in 0.052543 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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