多个独立程序之间跳转问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。& m: k' b/ [* A( D& d
问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
1 J+ g" Z4 w7 ~2 F: ?; d4 L" ?补充:不能改变工程及文件结构& Q4 c) q) s1 F
请各位大神答疑解惑,必感激不尽
& O( H& t5 `7 m% G3 w

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int007 Z( P& Y8 G) w+ C. I% h
8 J3 C6 W# `, s' W
  1. /****************************************************************************/8 e  u* Z8 {* l0 W/ i+ C
  2. /*                                                                          */
    5 z8 O/ L! j2 A" A& L
  3. /*              BootMenu                                                    */5 C# h( _7 U" T' `$ v
  4. /*                                                                          */
    5 t% H( T$ _) e: m& t( R
  5. /*              2014年11月07日                                              */
    7 X* |, d* K& x) i' D$ C7 ^' d( [
  6. /*                                                                          */
      |- ?2 F' M+ b% \# B$ \" J
  7. /****************************************************************************/7 T5 o( `  [2 p6 ^. I( f
  8. #include "uartStdio.h"5 v- M$ m( N/ _: U% Q1 x( T- b
  9. 4 z- r4 i- A0 u. o+ ]
  10. /****************************************************************************/
    0 ?6 C$ o( g/ @( L% k7 y# f, O) }
  11. /*                                                                          */
    ' c( P- k% U# `- \6 u
  12. /*              宏定义                                                      */
    2 \8 C9 k8 c' _; `# |
  13. /*                                                                          */$ @. q2 |6 R5 V& K3 ^
  14. /****************************************************************************/* |" l' h  |+ F! Q

  15. + N1 l) J7 h. o6 o, P
  16. /****************************************************************************/0 Q# C& I$ A' L* h7 j
  17. /*                                                                          */
    % y+ w/ O, Y$ f* X
  18. /*              全局变量                                                    */  g5 ^! ?) V; M; a
  19. /*                                                                          */0 s# A2 I$ e5 a( F
  20. /****************************************************************************/. s0 c! j! m, `' F8 S- z
  21. unsigned int EntryPoint = 0xC0000000;
    ' s5 D/ W/ y1 N# t7 ?

  22. 0 C( G: S. @* Z( W0 E' a* o4 m7 w
  23. /****************************************************************************/
    0 k3 J6 E& b0 H: I
  24. /*                                                                          */
    9 c9 ]) g9 v! h5 e# t/ q6 R
  25. /*              函数声明                                                    */0 |& u. y5 b2 {8 M) O' t
  26. /*                                                                          */
    ! f* ?  X& B. R3 I' m4 I5 J
  27. /****************************************************************************/: \' l0 {- s* Q2 N/ s# U
  28. void (*AppEntry)();
    * a& n2 b7 h+ ^4 U0 N% E
  29. , c; L2 n, i- j
  30. /****************************************************************************/
    9 Z& o- b* s$ T9 {: T' Q
  31. /*                                                                          */
    9 u! e, D  q3 U/ @9 d
  32. /*              主函数                                                      */
    % M  d5 L' u$ N8 ^/ _
  33. /*                                                                          */) `* e: q  ]5 X3 H! J& S9 z
  34. /****************************************************************************/* S. N2 m$ R3 u2 w/ i
  35. int main(void): o; W/ A1 |3 w3 b% {0 O, s
  36. {
    " }8 a) V1 F: ?( [( W$ p5 `; ?
  37.         UARTStdioInit();2 L+ ?' G: ]& \6 n
  38. / S, a- f' V) \0 @  \# Y5 `2 |6 Y
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");8 z: {( v* Q' S/ X

  40. 6 a8 b" Z) i+ K: e
  41.         UARTprintf("0.StarterWare LED Test\r\n");! |/ _' @9 g; C3 G! n
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");9 A6 l6 z' b- W0 q" N
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    1 G$ I6 Z- p0 ]7 \* b
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");4 G6 {8 k6 p8 V

  45. - L, P9 P' @8 k4 D2 q- l: Y  ]7 q9 J3 |( j
  46.         UARTprintf("\r\n");- _6 t1 z' b0 T2 m( G% d3 _; U

  47. + }5 }8 Z2 y# z- J, F
  48.         unsigned char val, status = 1;) n1 o: o. o% X1 \4 g+ t
  49. Choice:
    6 ?) x( j7 c" c: O
  50.         val = UARTGetNum();6 l0 f: Z' g2 B
  51.         UARTprintf("\r\n");- A, @8 \4 H5 i. Z

  52. , ?1 t2 R6 r9 X1 q- J6 \% c: _( H7 X
  53.         switch(val)
    7 ]. z1 G5 a3 V" y/ J
  54.         {
    : q7 O& w' C9 Y2 W
  55.                 case 0: EntryPoint = 0xC1000000; break;
    * _4 B# X* x% j; f
  56.                 case 1: EntryPoint = 0xC0251FE0; break;5 }7 e! @6 N, s5 I
  57.                 case 2: EntryPoint = 0xC2000000; break;. _+ h8 G- n) E
  58.                 case 3: EntryPoint = 0xC541DEE0; break;( D1 c: C& V1 y

  59. # r1 O: \& k! a, b
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;6 x5 g# Z2 k" l% B
  61.         }
    6 d9 y8 g8 Q9 `5 b) @
  62.         3 u) U. Z. s" U- ?( w
  63.         if(status != 0)
    9 K- s. n; @4 B- g- q) s' }: g
  64.         {, \* f3 a* x) N7 S) E! Y8 T3 x
  65.                 UARTprintf("Starting Application ......\n\r\n");" s8 R8 W- a, S6 C. h4 u  L6 Q

  66. / v# S) H4 `" E4 F& s
  67.                 AppEntry = (void (*)(void))EntryPoint;( k/ d6 C' J( T- e" |: J, Z
  68.                 (*AppEntry)();& X( u% }" X, |6 M
  69.         }
    : x8 r. c2 m: g1 q) {+ A
  70. ' r# Q( ?0 }' V1 Q! S1 W" V5 z
  71.         return 0;5 E! C5 x1 f# w+ e
  72. }% z5 Q7 j0 z6 J" F; I( K
复制代码
  E2 P& n" m: `, T5 n* P* c4 ^

, H" ?6 p  m0 R. S: X2 V
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了
7 N/ Y3 \/ K" J, x
" s# o8 p6 Y, f* g6 A; T

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-31 03:32 , Processed in 0.053883 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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