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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
/ H- b) N! V# v" |2 a9 t9 Z1 \! p) N问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?/ @. _% X3 g6 U3 i3 h  f" M/ B
补充:不能改变工程及文件结构
) u  T4 S3 M2 o9 v6 H请各位大神答疑解惑,必感激不尽
* B$ w# y' |% [0 F6 ?5 z& E; N6 |& g  i

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
. q  }8 P7 d! F5 J- I7 F* B9 c( L1 s' {7 ]8 k8 |& ?2 ^0 j6 c
  1. /****************************************************************************/
    , [. _+ Q/ u( c1 B( O/ r: v5 x
  2. /*                                                                          */: C# t9 m0 K* s! u
  3. /*              BootMenu                                                    *// O, P, v  ~4 }  }6 T
  4. /*                                                                          */5 m/ f8 n5 k* u( u9 M4 b
  5. /*              2014年11月07日                                              */
    / {. p" }& u4 M- C
  6. /*                                                                          */
    2 i8 |/ Y0 Q, R7 T+ S9 J
  7. /****************************************************************************/8 z4 ]4 b$ n0 L5 V8 ]4 t& y
  8. #include "uartStdio.h"
      \; ?: C% r( r4 @  ?; s0 P

  9. % }& X& B7 a" n: c9 F
  10. /****************************************************************************/
      I+ }# y3 Y0 W
  11. /*                                                                          */  T& c$ s, q* w: [- i: b) ?
  12. /*              宏定义                                                      */
    % Z* h/ D0 I7 X/ S1 k. ?" a
  13. /*                                                                          */( G2 g3 W3 O& h: j$ l% h% c* P
  14. /****************************************************************************/# I0 K% X' F- b: w- H
  15. 1 a8 S7 h( L) U
  16. /****************************************************************************/8 b: h2 q: [3 S$ E" p( X/ A% a
  17. /*                                                                          */  p$ A/ X9 q- S2 L1 F) F
  18. /*              全局变量                                                    */) h  i4 m8 b7 i$ t$ R9 Z5 b
  19. /*                                                                          */' t5 a+ l9 ^& ?
  20. /****************************************************************************/. F) x0 N% G/ U( }4 v
  21. unsigned int EntryPoint = 0xC0000000;
    & H4 n+ J; @# I! Y$ k
  22. 4 h: N* ~3 ?! _
  23. /****************************************************************************/
    : o' d$ z1 k% J6 I4 K0 H
  24. /*                                                                          */
    ; e0 c6 Y. n' v. R. o
  25. /*              函数声明                                                    */1 v. ^3 Y- J0 P1 b
  26. /*                                                                          */& |3 B8 G0 M* h. ?9 W# R6 o
  27. /****************************************************************************/
    9 h9 V( R1 |% F3 g5 W
  28. void (*AppEntry)();
    " R+ Z" Q: V* W+ V6 ?

  29. 9 v- ], U6 A$ \1 _+ s: K
  30. /****************************************************************************/
    $ U7 R* D0 r* R) O
  31. /*                                                                          */" E* c! W! ~; }1 j, N: X* b. G; c* r
  32. /*              主函数                                                      */
    " [% p0 D4 ^; Z0 r( g# q8 H. I4 H% i
  33. /*                                                                          */
    # C& s  a1 r, L/ w
  34. /****************************************************************************/5 m. U; }% Q' a: d. \: G
  35. int main(void)8 I6 D3 q" o0 m5 `( W# f  f( J) U
  36. {
    + t  A& S" _4 B
  37.         UARTStdioInit();
    9 d# P7 K2 K( C8 N

  38. % W4 v/ h0 [9 ]4 F! O
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");$ k8 U0 I7 I8 P$ p

  40. 3 c( V9 M- Y9 U' @) j$ T1 L
  41.         UARTprintf("0.StarterWare LED Test\r\n");9 D; [. j' Y& {* p# T0 J" @, ]
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");4 G: g$ H. V, _8 J1 K. W
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    9 m# ]  j& e( u8 n* F& P
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");( U# ^+ c% p* _/ B' T" U
  45. 4 S. U) p/ e: h. M, o9 ?
  46.         UARTprintf("\r\n");
    # b" ?9 x' k2 E* p, p
  47. % \+ F+ Y0 @6 k( }( s, I
  48.         unsigned char val, status = 1;
      q  a- A9 w8 Q  `8 T4 @0 I( N
  49. Choice:
    ) _$ ^! `+ `* {' `& Q9 o' J; ?( L9 a
  50.         val = UARTGetNum();0 ?% {' V0 `$ B. H, ^
  51.         UARTprintf("\r\n");
    0 ]1 x1 H& R! q* A% H$ W
  52.   q/ T) y" K3 W) O
  53.         switch(val)
    , x# o% s0 u: S5 l
  54.         {6 n* L# [, s" ?5 @" O/ c; H
  55.                 case 0: EntryPoint = 0xC1000000; break;1 _' n  n0 n) K2 @2 N
  56.                 case 1: EntryPoint = 0xC0251FE0; break;/ w! U' Q' R8 B+ V* W
  57.                 case 2: EntryPoint = 0xC2000000; break;& c9 H4 N/ o+ D' M  a8 u" J
  58.                 case 3: EntryPoint = 0xC541DEE0; break;& ?3 ~; F6 V9 @- g% ^$ H& h7 Z

  59. 6 L. G. X% @0 _! i% j* V
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;6 m5 D7 d$ [) A% N
  61.         }' D" i8 V$ c/ }; e
  62.         6 R0 `4 M: I' L: U! {$ \5 a9 K  S: b( O
  63.         if(status != 0); O4 P2 D. x  z; \6 u) p* E2 f! R, H
  64.         {% e+ v2 ?: \7 u6 P4 K6 \& C
  65.                 UARTprintf("Starting Application ......\n\r\n");% {! Q4 u8 ^. C2 g' W7 c. D" Y4 z4 |
  66. ' }0 o& }. @! q* q+ o9 t
  67.                 AppEntry = (void (*)(void))EntryPoint;
    $ i$ h3 G7 g. `0 P' z# H
  68.                 (*AppEntry)();' K- r& Q6 g8 S
  69.         }; S2 Y+ ?0 {  m8 b' Q

  70. 6 i5 N; m+ [- b/ k0 p" ]- k# H
  71.         return 0;
    7 ]5 x6 b/ D/ d7 u# ~" ]$ z2 c4 z
  72. }" i: K% h( a: O
复制代码
0 p. I( w7 C- H) H1 ?. @

2 h/ B. O9 j. r- J
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
$ b  F# ]$ ~6 Z( x- G( J  E8 e# n% n4 j! X! G3 o' E

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 15:55 , Processed in 0.045306 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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