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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2016-8-27 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题背景:现有两个工程,第一个工程led1中包含一个asm文件和c文件,asm文件实现向led1.c程序入口点跳转,如附件中所示。第二个工程只有一个c文件。三个程序的入口点分配如附件所示。
: Q; M" S: W2 I  U; L! ~问题描述:在asm文件中跳转语句是“B _c_int00”,但我有两个c文件,也就有两个_c_int00,所以总是无法实现跳转(个人猜测是这个原因)。如何才能实现正常跳转?
9 F) N; \) w+ s/ ^; s& D) p/ Q补充:不能改变工程及文件结构' D- z7 S  O# x
请各位大神答疑解惑,必感激不尽
# O- q- H, y2 K0 D$ O6 s  e

本帖子中包含更多资源

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-29 08:52:37 | 只看该作者
这个程序是测试通过的 其中的地址就是 _c_int00
/ m( @0 h/ P8 h$ P& q. n% _* O1 f' l" \5 m
  1. /****************************************************************************/+ e+ z$ u, e7 r9 a0 n- g5 I
  2. /*                                                                          */
      @& B8 v, }" n& |
  3. /*              BootMenu                                                    */* M! L3 |* n  z0 k9 ]+ i6 W) _1 N
  4. /*                                                                          */
    9 h% d) W2 [  @& Y
  5. /*              2014年11月07日                                              */8 A  A) i/ P$ T9 b+ `& ?% Z
  6. /*                                                                          */
    / ]+ y5 [6 x/ {) O9 q
  7. /****************************************************************************/4 s, o* E5 D" f
  8. #include "uartStdio.h"
    $ n4 }, P0 k5 a' E0 M" G; R) b' n# r
  9. . \4 ~# p$ ]+ B$ P8 M3 d' m+ Q
  10. /****************************************************************************/
    $ U! D2 l! q3 H* _: d4 Q6 |1 }
  11. /*                                                                          *// b0 L- z6 \) O7 Z
  12. /*              宏定义                                                      */) V- X' N! m1 r9 b1 @
  13. /*                                                                          */
    ' [# ^) B: q7 J# M" Z* ]. w" \- ]
  14. /****************************************************************************/
    . ^. O2 p' Y4 Y8 m

  15. $ P2 {1 G5 i1 X" A( d$ O5 I
  16. /****************************************************************************/
    + G. |# [$ ~  Z3 r. ?
  17. /*                                                                          */
    5 N  ~+ z2 P3 N3 A3 a# N+ A
  18. /*              全局变量                                                    */8 n% Q3 \: d; e3 r. J) o( e( K% ~
  19. /*                                                                          */* `4 S: I# H/ {) S
  20. /****************************************************************************/
    7 [) a% k: J+ u* B8 I
  21. unsigned int EntryPoint = 0xC0000000;
      N6 G* a/ ]* T# q& J2 R. V$ {

  22. : h$ T. N) y4 e
  23. /****************************************************************************/* N) s8 ]- a3 c
  24. /*                                                                          */  c* j8 A* Q: y  r1 z6 \/ \4 G
  25. /*              函数声明                                                    */2 Z! }9 d0 z, e
  26. /*                                                                          */
    3 V; I8 @* S+ `4 A8 d: x
  27. /****************************************************************************/
    6 U4 p( _9 W* p3 ]4 ]# x
  28. void (*AppEntry)();+ y6 u' `: I, i6 J6 n
  29. 7 t# K0 Z1 {5 C+ o( X0 p' h/ @
  30. /****************************************************************************/
    3 U( E1 h3 k1 u  _5 ^: S: O
  31. /*                                                                          */+ G6 d& V( O( R
  32. /*              主函数                                                      */6 \6 l+ @5 e0 m, {/ A3 F
  33. /*                                                                          */
    $ G& ~. V  e+ ^9 I  y  D
  34. /****************************************************************************/& |9 V' k  b9 _0 n4 A( }/ `
  35. int main(void)
    % c3 c8 U# E3 m
  36. {
    $ ]0 w/ V; ?5 ]( V* {
  37.         UARTStdioInit();
    ; H* B  z8 d1 a$ {' o

  38. 6 l, r, z' l# _7 q
  39.         UARTprintf("\r\nTronlong DSP TMS320C6748 BootMenu\r\n\r\n");/ X& c8 A7 [3 W9 f

  40. - _# G4 A, h1 z- ~* I
  41.         UARTprintf("0.StarterWare LED Test\r\n");
    ( f) B; o& H' i- I3 l/ U2 a4 p
  42.         UARTprintf("1.SYS/BIOS EasyEvm Test\r\n");2 \& k. Y$ P! v0 [2 m5 \
  43.         UARTprintf("2.StarterWare USB OTG HOST Test\r\n");
    : G0 i; G# A$ z5 j5 `- o
  44.         UARTprintf("3.DSP/BIOS USB HOST / USB OTG Test\r\n");
    % N6 q. d' v/ l% p- \/ ]) V

  45. : j1 c: z7 i7 q8 _' r
  46.         UARTprintf("\r\n");
    ( b$ t; h* E' X! f8 X7 P
  47. - l2 f$ r8 ]2 z8 ]( ?2 _+ ?! R" H
  48.         unsigned char val, status = 1;
    8 K8 Z+ g! H3 d$ ]! b
  49. Choice:
    9 P; b7 X, [/ d8 e4 n! `/ ]
  50.         val = UARTGetNum();
    2 H4 ?6 V; v2 L: ?/ v
  51.         UARTprintf("\r\n");
    2 Q! D4 e4 |. O5 {- z

  52. & V' R2 T& S8 Q1 C( P
  53.         switch(val)( U3 z& P2 u# L* E
  54.         {
      T. t# d8 v& c3 f
  55.                 case 0: EntryPoint = 0xC1000000; break;
    " S8 E2 n( q  F: q) _
  56.                 case 1: EntryPoint = 0xC0251FE0; break;0 V/ l; f" l  C5 W3 c5 a1 S
  57.                 case 2: EntryPoint = 0xC2000000; break;
    + Z; z0 }1 L/ X- K) [7 A
  58.                 case 3: EntryPoint = 0xC541DEE0; break;& z1 q" R, O; b6 l, r/ s
  59. 0 V$ E# @$ n! h
  60.                 default: UARTprintf("Please input a correct number.\n"); status = 0; goto Choice;& J$ B/ [, m0 ]9 B1 F
  61.         }/ x( d+ S( V6 h5 r. P
  62.         - L0 d; y. r5 l$ K2 {
  63.         if(status != 0)/ X" s2 i2 d5 b1 s2 `% ?5 z
  64.         {5 b- v, V, d; j  s9 o
  65.                 UARTprintf("Starting Application ......\n\r\n");
    9 l/ z$ g. f! |) h: L
  66. # P0 U  `, h/ p( k1 U/ P
  67.                 AppEntry = (void (*)(void))EntryPoint;
    ( i- G" W' [- p4 ]7 M3 Y5 r
  68.                 (*AppEntry)();
    - A$ v' `  i# D# B! B2 r6 h* T( J
  69.         }
    + O0 Q' v3 \( M# o, y; y; p

  70. $ m: R6 A  v& U1 g
  71.         return 0;
    7 a; k! e2 H$ ~, o) P5 l
  72. }2 Q# b7 z& q- a& X/ j# I% {7 z) W
复制代码

* K: ?6 }6 w" }, K* Y2 ^% A3 @
回复 支持 反对

使用道具 举报

1

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2016-9-4 20:48:58 | 只看该作者
您好,我试了一下这种方法,结果报错了0 f# N. I5 d  q0 R: B% a* K) M
* a! H5 r6 z) V9 F0 {" I+ X) Y2 D" u

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 21:47 , Processed in 0.048804 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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