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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
9 Y" w, [2 i6 o2 k' P问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?0 I$ Q; i) W# Y, r
补充:不能改变工程及文件结构9 [! H9 N3 |9 {2 Z
请各位大神答疑解惑,必感激不尽
! m3 O1 r, n8 c6 a0 g0 `' V  X

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int007 l5 J: i8 F8 E- \' _

7 h( U$ M( r* b6 g0 q/ `2 U4 {
  1. /****************************************************************************/6 ^+ J' {; ]) C6 z8 w6 @
  2. /*                                                                          */( `% H' r+ Y: L: O* Q
  3. /*              BootMenu                                                    */) F; b( m* o7 ~5 ^
  4. /*                                                                          */* a) r+ H5 n  E# T1 I
  5. /*              2014年11月07日                                              */  @5 G) l, ^4 S/ C% {# m1 L0 H
  6. /*                                                                          */, ^6 K2 J$ p. A3 [  e$ f
  7. /****************************************************************************/
    7 Z. v$ q* T" u# x* `
  8. #include "uartStdio.h"9 H5 k/ r; \8 u! c8 f' Q0 s( ]7 z: @
  9. ) z; X  V+ U' q1 Y; {  S; b5 H
  10. /****************************************************************************/* l+ c7 a7 e2 M) K/ y) S2 r
  11. /*                                                                          */! D+ y8 r' N3 B1 z: h
  12. /*              宏定义                                                      */. A1 H2 Q: g0 D) b" i
  13. /*                                                                          */
    ; c& V! e; i. P
  14. /****************************************************************************/* d% \: _( ~1 B; o! i' |

  15. & Y- }0 G( }1 [4 K9 F: a+ `
  16. /****************************************************************************/5 c$ R. D5 T7 `" k* h2 K
  17. /*                                                                          */1 }5 C. _# `5 Z8 ~
  18. /*              全局变量                                                    */) ?( U. S/ ~9 Z& I; L' q
  19. /*                                                                          */
    5 O9 A; @* B& z0 d1 z( d1 A1 Q% i
  20. /****************************************************************************/0 ]8 L2 e" A! T7 G1 M& r
  21. unsigned int EntryPoint = 0xC0000000;9 o2 u1 ?, q8 Y
  22. # W% i" c$ }7 t! @+ g2 R& b
  23. /****************************************************************************/* Q& R! P/ \  ]. |
  24. /*                                                                          */0 d3 T! H6 A* b0 s6 L! n# U
  25. /*              函数声明                                                    */, c) R  d( O0 T8 ?
  26. /*                                                                          */
    4 H/ p" b' U* S- A$ a
  27. /****************************************************************************/
    : u4 w* @( M+ ^) ^$ Z
  28. void (*AppEntry)();& q9 _8 J9 q, y  e/ [

  29. ( b: ?0 j% B( g4 R! |/ W
  30. /****************************************************************************/
    2 N, {) P! t% x2 x* {" Q. r
  31. /*                                                                          */
    ) T0 s1 U5 @1 a0 @6 z5 Z
  32. /*              主函数                                                      */
    , |/ L, r+ x/ L  y* O' y! D, h
  33. /*                                                                          */9 g# x7 i3 g# N( d0 a( k0 w
  34. /****************************************************************************/" w2 K/ Z) Z1 s5 O
  35. int main(void)
    8 l# E( ]! h, C- m
  36. {" b1 l! Q( V$ W/ K; {
  37.         UARTStdioInit();
    5 }. F7 a4 r6 _; Y3 @8 T

  38. ) `& z. G& _& A
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");# S8 i6 O: f0 z% T
  40. * _9 u- R$ m7 }  n  W. Q
  41.         UARTprintf("0.StarterWare LED Test\r\n");' G9 _2 H# s$ s9 q
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");- r4 f# a$ r. x/ d3 d
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");+ k8 C( ]9 Q5 s8 L+ Y% W' S
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");: K, X7 ]3 Z+ |6 w5 t* E# G

  45. * J; l3 t4 ~( m5 T; `
  46.         UARTprintf("\r\n");# C" O+ }% h4 T# h# l' a, [7 p. G
  47. 5 U2 X& Z- U7 L1 R; S/ k* s
  48.         unsigned char val, status = 1;- o% t% [, O% k, n
  49. Choice:4 k1 F/ U9 y* a
  50.         val = UARTGetNum();
    ! g7 a; Z) e; \. N2 t
  51.         UARTprintf("\r\n");
    2 V5 Y0 V3 `7 j0 P* ^# B
  52.   |2 r" M; B( O- A% i9 v) _
  53.         switch(val), O! u  I* m8 ~
  54.         {
    8 x* Y& }1 a8 ^, D! u
  55.                 case 0: EntryPoint = 0xC1000000; break;* J2 P3 }7 j. v8 `
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    % ^  i: ^$ T. \6 [: z) a" n
  57.                 case 2: EntryPoint = 0xC2000000; break;; @9 K9 N5 Y. i1 u4 i) T
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    9 a/ T# C4 t" F2 S( g

  59. 8 p: H$ [9 c. n9 W2 G* N4 C8 i
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;2 a. J! u5 {* G* ~
  61.         }
    1 X! s+ x: k" p! \. q
  62.         3 E6 `/ k) B9 L1 P: a5 R3 E: K
  63.         if(status != 0)
    / K+ v8 Z$ {0 s, u: X* ]
  64.         {
    ' e# h& C/ ^6 b- y1 a/ t- A* F
  65.                 UARTprintf("Starting Application ......\n\r\n");
    5 y7 u+ V, n- A; y7 o( Z1 ]( C

  66. 6 A: |, P& Z- n3 n; t
  67.                 AppEntry = (void (*)(void))EntryPoint;* ?3 H% E' f: Y) W1 `; Z' ^! g) g
  68.                 (*AppEntry)();7 S% O' h- t0 A% e) g
  69.         }
    6 l; o) e! Y% E. u* e1 s

  70. * n6 R6 g" }, F  i0 @7 B
  71.         return 0;3 s- C& `. Q, `! U% U8 [
  72. }; {3 ]- [2 [* E
复制代码

4 x8 m# H$ n' P' e3 \' ^3 c2 V# S% M
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了" D- d2 H' F4 t4 {* O
9 j2 N$ K2 _/ i0 {( W. M+ I/ `

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 03:13 , Processed in 0.039604 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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