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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。7 B8 _% D# d4 @7 B' f3 G4 @
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?* A# O& J7 `2 ?% L) M$ ?* n. s" Q
补充:不能改变工程及文件结构, b( Y: L1 T. m) i1 r+ u
请各位大神答疑解惑,必感激不尽
- }# N, S, T. {( U" \

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
( O+ u* M1 E# A9 a4 P% ~
; |) _# @# j* y
  1. /****************************************************************************/( W4 B2 z+ B! W; j1 c: l( }
  2. /*                                                                          */3 v, S( O% c8 @+ |: h2 r" Y1 q! I, ^
  3. /*              BootMenu                                                    */- t8 |6 X% c  L4 `: j8 p  @* h$ N
  4. /*                                                                          */
    # B, `3 g% w# O& Z) z4 _
  5. /*              2014年11月07日                                              */
    8 ]( H& a6 ]" L
  6. /*                                                                          */
    8 h  g& o% Z( A5 O/ ?$ T4 V
  7. /****************************************************************************/; e& y# M+ w5 k9 M8 `$ o2 l+ A
  8. #include "uartStdio.h"
    + N) P# p' ]: N0 \
  9. - T% F& _* q' e
  10. /****************************************************************************/2 t4 T# W1 ~  G. H
  11. /*                                                                          */
    : \' g) g, v& j) h) i
  12. /*              宏定义                                                      */( a+ m4 l* O( {3 i& w
  13. /*                                                                          */  Q/ }- c, j# l# R2 z9 Y9 q
  14. /****************************************************************************/
    1 i) P3 E" X4 s: c
  15. / c6 V5 ^* K$ z+ ^! a+ b. B
  16. /****************************************************************************/
    3 \# e) z7 V; w2 C/ d" G
  17. /*                                                                          */
    ' J9 a; E7 ]; S* m- f  I0 I% i6 D
  18. /*              全局变量                                                    */' D4 ^: q$ o/ Y, v
  19. /*                                                                          */
    / v) T; S9 C& J+ l1 v5 B- y
  20. /****************************************************************************/8 ~+ w$ ~5 K9 Q/ O
  21. unsigned int EntryPoint = 0xC0000000;/ S- G% {! C1 \% P) j: j+ b

  22. / O: k# M. Z0 c. c. F; T
  23. /****************************************************************************/
    - {# I) s/ u) a! L3 r' _, e# ?
  24. /*                                                                          */
    1 ^; Z4 G2 X6 b# X4 E) V
  25. /*              函数声明                                                    */. U0 o+ G8 e+ m- E
  26. /*                                                                          */
      |: a8 ?3 ?( e* P/ v$ L5 [
  27. /****************************************************************************/
    ! U2 t/ h" _; m3 s& A
  28. void (*AppEntry)();( L9 v# w5 Z% `$ p+ u) \- s

  29. 5 ^1 ]8 p( E7 s( `
  30. /****************************************************************************/+ _2 R4 M- y& e' v* I
  31. /*                                                                          */' A$ u% G  U: \" h
  32. /*              主函数                                                      */: _5 \3 f3 U- t5 h! ^
  33. /*                                                                          */
    , F* K% d$ N  ^$ X/ @7 h  C# q
  34. /****************************************************************************/7 _4 G1 C  S! f& K3 O
  35. int main(void). ?2 @7 V' L8 |9 D3 _
  36. {) f0 _  J( |3 e6 I- b7 E/ L) \
  37.         UARTStdioInit();4 k/ B5 R) {" P8 n$ |$ S# R
  38. 8 K* ^% n; V7 Q! S  [: X: p" E
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");# @" E& Q  d$ R$ o( i. Z9 s
  40. # a' r" p4 d5 m$ y9 \3 k
  41.         UARTprintf("0.StarterWare LED Test\r\n");$ l3 a1 s8 i$ {/ ~8 O" q( ]
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");
    " p+ j6 S4 T: R, U4 ^, a
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");  A$ T& u. r) |, h) f6 |% f& R* v
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");1 p+ K: U: T$ V1 Z
  45. 2 Q/ v  f- _- N, c# A/ C4 }/ l: C4 U
  46.         UARTprintf("\r\n");3 y$ i' l, W" ?* V+ Y7 E

  47. * C% V) I2 w/ T0 Q+ U  b
  48.         unsigned char val, status = 1;
    - m$ f6 z* N" ^$ z$ v" {1 j
  49. Choice:2 g/ X  d0 [5 ]0 @
  50.         val = UARTGetNum();- k/ t: p$ b/ H8 `, {
  51.         UARTprintf("\r\n");
    4 a# G# p0 H& Z% }- M6 w' H

  52. 1 I  N* i" |( i
  53.         switch(val)
    1 W) Z. M+ K3 q" P: c. `
  54.         {( V: T1 q8 v1 m2 l# [
  55.                 case 0: EntryPoint = 0xC1000000; break;
    # A9 e# N4 _6 g
  56.                 case 1: EntryPoint = 0xC0251FE0; break;/ d) w& _& D6 S; b# |5 _7 N$ `
  57.                 case 2: EntryPoint = 0xC2000000; break;
    6 z& Q: m% T; x6 S
  58.                 case 3: EntryPoint = 0xC541DEE0; break;" V: J! ?8 U" P& P/ l1 k8 h5 E: I
  59. . V, |5 k& ?' U( K1 E$ F4 Q  x
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    - M* c+ e0 }$ t1 i; N& t
  61.         }
    , V1 X! p4 ?$ q, `
  62.         # b$ k8 E4 Z2 {8 ?$ J
  63.         if(status != 0)
    8 B* Y6 b8 k5 U& H
  64.         {
    ( o- z, [8 r. b9 B9 C: a, t
  65.                 UARTprintf("Starting Application ......\n\r\n");1 s, G6 b+ J- U. G- f( F/ S

  66. 6 W9 |5 _' G" s3 p
  67.                 AppEntry = (void (*)(void))EntryPoint;
      y8 |) L1 i8 ]9 n, {6 [
  68.                 (*AppEntry)();
    - s1 z/ h' l1 k
  69.         }# X; K4 P8 m( t! y6 q% H% E

  70. / m) U9 B: m0 |" W! J: z
  71.         return 0;
    1 v7 g  `2 \+ X. L1 L
  72. }& a! y9 x0 z$ A+ G4 w1 _- ]
复制代码
" ~4 ]9 `* j4 K8 s

: j$ f7 {; Z, C- I$ g. U) B0 N: [: I
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了, c* p. `. ~6 v
5 c  ^$ @5 y- ?6 f. n. t

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 17:56 , Processed in 0.039361 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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