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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。# h" ?3 W1 W; X9 M! k2 B& C: a1 Z
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
  t% w- Z4 r/ d+ v1 ^补充:不能改变工程及文件结构
2 O0 j  L. b# T3 H请各位大神答疑解惑,必感激不尽$ L, y" i( ?! x' V* I# p

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
! T9 Y1 F8 M- X. |) X: Y2 K7 d
2 o3 H3 J! W" G" U
  1. /****************************************************************************/; |! {' T. J9 ]
  2. /*                                                                          */; z9 b" C! g& m; X( t
  3. /*              BootMenu                                                    */% x, @. m2 V. x- O/ n+ J
  4. /*                                                                          */
    * j# ]) W" e- o. |3 C7 a
  5. /*              2014年11月07日                                              */: A2 k& x5 F- ?# q
  6. /*                                                                          */
    8 D+ w3 ^* r2 K! |! h
  7. /****************************************************************************/
    5 ^$ I$ z8 e& \% D; Q; }# k
  8. #include "uartStdio.h"7 [# M5 N! o2 _, f# Q/ T" s2 Y

  9. " R! d+ {" h" u- q
  10. /****************************************************************************// C  @3 X% C: q, }" ]8 f  Q
  11. /*                                                                          */
    % c) S5 M& Y: S$ Z0 h
  12. /*              宏定义                                                      */2 o8 P+ K4 b( Z1 Q! p, y+ d. y
  13. /*                                                                          */
    / J* [8 o) w9 Y& z5 K+ v  ]
  14. /****************************************************************************/8 S% a# @* a/ L( |# Z
  15. ; ~) h$ t0 n) U3 e2 |. B5 E
  16. /****************************************************************************/( t. q! z, Q' K4 i) W2 y
  17. /*                                                                          */
    / {* V1 d, O/ i  T4 U! s
  18. /*              全局变量                                                    */' ~) ^$ A0 K/ }; e' t# }
  19. /*                                                                          */
    0 n' x0 ]# `5 z5 z& l1 S
  20. /****************************************************************************/
    2 K6 g" N( _# c
  21. unsigned int EntryPoint = 0xC0000000;4 P- m# E; x  @5 y
  22. ! `1 R8 |# X( [& Q5 t' F
  23. /****************************************************************************/% i. [+ `$ M8 `* v2 p
  24. /*                                                                          */
    ; ^' x8 h7 B$ q( n' _+ I7 a
  25. /*              函数声明                                                    */
    & I6 m+ ^: i- H& n& J1 J& T: |
  26. /*                                                                          */
    6 m+ k/ s4 `/ Z
  27. /****************************************************************************/* X5 P6 L6 H; v
  28. void (*AppEntry)();
    * u, u8 S) Z9 x) I% g* k
  29. " ]* _+ @2 m, i( e: A3 ]
  30. /****************************************************************************/
    6 G/ k: w7 A3 z" n) b1 P
  31. /*                                                                          */
    & N* ~3 n6 A$ R# n% g1 ^9 w
  32. /*              主函数                                                      */
    " s5 ]0 h! i2 u  @' o9 B2 \4 [
  33. /*                                                                          */  Q$ ?0 B& g) \+ g1 V  ~
  34. /****************************************************************************/# g$ F/ G; y3 }) ?- O
  35. int main(void)8 C; b3 Q' l: P
  36. {( o2 {) c( \3 ^9 p, d6 p9 u" A
  37.         UARTStdioInit();
    " }& O1 v' ?4 M/ D4 ^) p' o

  38. & ^+ j. W2 X; R5 R# N
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");
    0 ^: E$ Y5 e0 g5 a0 s$ {
  40. 1 B5 s7 X$ v+ N# t9 a3 Z# k
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    7 S) [9 t* W% c8 |: Z- z) S
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");, o# q) @: u2 z3 x% ]2 C: {8 P
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");* ?' ]/ j% T8 n$ v6 X7 U- y
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");2 |+ Z/ o; V" L+ u0 t+ ~; O5 c1 B

  45. 5 w0 o4 S8 [) M/ `" y* o$ C
  46.         UARTprintf("\r\n");& @( E. f4 Z9 Y8 U. ]5 M9 p1 M
  47.   Q7 |6 V/ }4 N1 }1 Q$ K% s
  48.         unsigned char val, status = 1;3 W: {; G5 G$ f2 l# U8 ]8 W/ W
  49. Choice:
    7 ~4 J# Q. X- l# T, x' D
  50.         val = UARTGetNum();
    ; o2 B4 }+ E( l% k: j
  51.         UARTprintf("\r\n");7 x9 h# \* Z! |6 x$ f: h7 \
  52. ; q/ l. H' [  z' j4 O( \% D1 k
  53.         switch(val)
    ' }3 C. t  I% A2 N! w
  54.         {3 K6 B$ r( K: r) V( I. I9 Y5 V4 q
  55.                 case 0: EntryPoint = 0xC1000000; break;/ F. F  x; q/ L9 B5 {- O& F6 x
  56.                 case 1: EntryPoint = 0xC0251FE0; break;# l. g/ V! R2 C+ _
  57.                 case 2: EntryPoint = 0xC2000000; break;" _# V; C8 {8 N) ]1 o; j3 |  p
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    6 D# n% Z0 z+ \9 J/ H- x

  59. 0 _; a1 \! K$ F# v4 \
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;" |, a  T' a/ B
  61.         }
    7 O: m3 @7 L% v
  62.         4 z9 ]6 l7 M6 m: u5 G
  63.         if(status != 0)
    3 g4 ]- b8 s% f6 ~  P
  64.         {) l5 t; S$ B+ `2 J- a" `5 B* D
  65.                 UARTprintf("Starting Application ......\n\r\n");
    1 T' [' i% T( w

  66. 5 S) H- D- A( ?1 m
  67.                 AppEntry = (void (*)(void))EntryPoint;8 j( y6 j$ _$ m- p  C
  68.                 (*AppEntry)();
    ) R# v" [' z' `& q: |: J
  69.         }& k# p( A8 e, m1 r# L4 e6 ~* P0 k
  70. + h, R$ \- w! E2 _# L4 x
  71.         return 0;5 E3 [. c7 ]7 ]2 k3 h7 W
  72. }) `# g' \: E& J
复制代码

4 H! {$ `9 N! Z, s4 ^& ^0 r4 u5 B
7 N" H0 G4 L- J; o
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了% M$ n" S' U2 o; |4 i) `

! h* ?: x7 S3 Y; ~+ C

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 18:49 , Processed in 0.039354 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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