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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
3 N' U$ f% b7 V问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?9 U3 R5 ?0 f3 z2 z/ F
补充:不能改变工程及文件结构- r! K( c3 Z% j; a- t
请各位大神答疑解惑,必感激不尽
3 }1 O: B4 T( M. g! ~2 T

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00# @9 a) T) p0 \* C) B/ B
9 M; Y! J" z( i, j/ f7 e) ~% g
  1. /****************************************************************************/
    ' g/ S. D9 e+ V  O- W
  2. /*                                                                          */% d7 K0 m4 l6 k9 l+ X8 ]
  3. /*              BootMenu                                                    */) a- d) L" H# }4 D7 c- i* T' `4 E
  4. /*                                                                          */1 ?, n9 u4 l& E- a
  5. /*              2014年11月07日                                              */& I$ k3 P! S: V( t& v5 t
  6. /*                                                                          */
    9 K* t- F& X4 p# v. J! \4 K
  7. /****************************************************************************/
    4 l7 V2 }# f! t1 m9 _; s
  8. #include "uartStdio.h"5 w! v( `5 Y0 G/ W) J! T
  9. 4 ]9 s/ t; V. @  }
  10. /****************************************************************************/
    4 E( i" e/ g/ K1 \; u
  11. /*                                                                          */
    6 d) U( G- a, X% m' d6 e0 q' ~1 M
  12. /*              宏定义                                                      */: @1 f; I& H* P" h1 E6 [/ z3 B0 N; e
  13. /*                                                                          */% Q0 j3 E( N( {) _: g$ g
  14. /****************************************************************************/
    2 z, w# T) O7 I/ l

  15. * V; ?4 f0 F$ P; z/ t! D+ I& }5 I
  16. /****************************************************************************/& Z/ {9 y: B3 |' {* i
  17. /*                                                                          */% m/ F* n. w; |; p* [
  18. /*              全局变量                                                    */' ?9 A+ I1 `  J2 Q/ }8 p1 D
  19. /*                                                                          */
    & V8 f* F4 I' d& D; n: k& N2 B
  20. /****************************************************************************/, Y/ \- M8 ]. Q( o
  21. unsigned int EntryPoint = 0xC0000000;; U4 Z, \3 b8 ?/ M/ m" W3 R
  22. 8 T2 w/ c% {3 [! D
  23. /****************************************************************************/) t  R4 o* }  n  X. }7 P" \
  24. /*                                                                          */
    % _' D# ?; B0 B4 }8 |
  25. /*              函数声明                                                    */( [6 E+ ^9 A( D: y
  26. /*                                                                          */4 z  z1 y; ^+ x' g
  27. /****************************************************************************/$ o* U2 \5 l$ \7 \- I
  28. void (*AppEntry)();# U$ s/ }0 h; G9 v1 U% r

  29. * P( [( L; u% R2 P1 O7 W8 g: l# w
  30. /****************************************************************************/
    ' Z- ?" u" N) h+ W3 Q0 u, {
  31. /*                                                                          */* `5 f+ ~  I/ @# O: Q3 C) w: M
  32. /*              主函数                                                      */
    ; \9 o, r  Z7 `
  33. /*                                                                          */1 |( e% }  O& R3 p! m, A
  34. /****************************************************************************/
      [* o4 m9 _. }& T
  35. int main(void)/ C- X' \" q6 B, I# r4 E. y
  36. {% M, L4 m) j) E& v7 n
  37.         UARTStdioInit();& |- Z  f  t7 E  S0 r
  38. % d) Y* ?; w# m) f7 |+ l
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");3 ]  ]( `$ y7 M
  40. " o/ j- V2 h; d  X9 M
  41.         UARTprintf("0.StarterWare LED Test\r\n");" I' I$ ^8 m  _9 R
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");. B1 X' X4 ?+ n' Y# ~- q
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    . x7 w. j" h2 ~6 f2 r4 z, C  I2 e
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    1 q, ^+ V& D* W6 ~* p
  45. ( T) ^8 u) G$ w8 B# ~8 d% x
  46.         UARTprintf("\r\n");' r5 R! K1 {/ d) F) h$ n6 T

  47. 6 P5 r1 X. J* @/ m2 o% x! v
  48.         unsigned char val, status = 1;) a; T( U* o( _% g2 u* ?0 Q1 n
  49. Choice:5 }% ]" d3 O9 y7 l. H  {& s
  50.         val = UARTGetNum();
    * F+ _' Q+ M1 l$ g6 n& Q2 _$ ~2 h7 m
  51.         UARTprintf("\r\n");% [- H8 r9 E/ H; g
  52. 6 M1 n0 d, f0 v4 U' A5 U! }
  53.         switch(val)
    - d  m6 t( c' s6 O& a8 L
  54.         {
    , P5 \$ @) u; a: N3 |/ @, d
  55.                 case 0: EntryPoint = 0xC1000000; break;6 R; i6 Y" W8 L* }' u" \  r2 |' I
  56.                 case 1: EntryPoint = 0xC0251FE0; break;
    ' J8 Y3 g( V* Y3 Q
  57.                 case 2: EntryPoint = 0xC2000000; break;: ^% y* ~, G9 c$ c2 p5 F& O. @
  58.                 case 3: EntryPoint = 0xC541DEE0; break;
    5 E4 Y4 Q) T$ q" i$ }: g

  59. & i; ~# E) ?3 P" B% Y2 i/ w7 O* }6 K
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;
    2 I. S1 v; t0 n" T5 `1 J, \
  61.         }2 l) q8 o8 p3 p: z. j- [
  62.        
    ; R* T% W6 {  o& K# X+ l- a9 L
  63.         if(status != 0)
    6 i. N' x! c! e) X
  64.         {6 s3 ^6 l! ^9 \( P5 T( T
  65.                 UARTprintf("Starting Application ......\n\r\n");$ E+ u# n  K' `. R) m( A$ u

  66. , |- ?' ^  w: B% O% z; p
  67.                 AppEntry = (void (*)(void))EntryPoint;
    # i) f2 w, Y! ?1 F
  68.                 (*AppEntry)();0 V2 k+ f# }# d( ]4 P" e5 z. z7 i
  69.         }! d6 [- |! @3 ]6 E8 e

  70. $ L6 p! {& K2 l9 M0 B2 H! B$ a- {9 T
  71.         return 0;
    ) Q3 s. N9 K4 O9 K
  72. }% V  Q( f/ U  y% G' N. C6 M
复制代码

, R  A3 w5 h, j1 g  n! B. E, R- g! o" p% t5 ^9 l% W. G4 s
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
- H, n4 h. S* d5 i9 e
! |8 V$ l" H+ U  |+ E  h# h, i

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 14:48 , Processed in 0.036611 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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