| 
 | 
 
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 
×
 
我在用周工的LPC移植UCOS时候,程序一进入B __main的时候就运行不下去拉,用realview2.2调试时在_zero_loop:前三句进入了死循环,这个问题怎么解决啊? 
_user_initial_stackheap    如下 
__user_initial_stackheap     
    LDR   r0,=bottom_of_heap 
    MOV   pc,lr 
 
源码 
Reset 
 BL InitStack ;初始化堆栈 
 BL TargetResetInit ;目标板基本初始化 
;跳转到c语言入口 
 B __main 
 
反汇编 
   __main: 
   0000814C EA000000  B        __scatterload              <0x8154> 
   00008150 EA000E0F  B        __rt_entry                 <0xb994> 
   __scatterload: 
   00008154 E28F0028  ADR      r0,{pc}+0x30 ; #0x8184 
   00008158 E8900C00  LDMIA    r0,{r10,r11} 
   0000815C E08AA000  ADD      r10,r10,r0 
   00008160 E24A7001  SUB      r7,r10,#1 
   00008164 E08BB000  ADD      r11,r11,r0 
  __scatterload_null: 
   00008168 E15A000B  CMP      r10,r11 
   0000816C 0A000E08  BEQ      __rt_entry                 <0xb994> 
   00008170 E8BA000F  LDMIA    r10!,{r0-r3} 
   00008174 E24FE014  ADR      r14,{pc}-0xc ; #0x8168 
   00008178 E3130001  TST      r3,#1 
   0000817C 1047F003  SUBNE    pc,r7,r3 
   00008180 E1A0F003  MOV      pc,r3 
   _region_table: 
   00008184 00003D58  <Data> 'X' '=' 0x00 0x00 
   00008188 00003D78  <Data> 'x' '=' 0x00 0x00 
   __scatterload_copy: 
   0000818C E2522010  SUBS     r2,r2,#0x10 
   00008190 28B00078  LDMCSIA  r0!,{r3-r6} 
   00008194 28A10078  STMCSIA  r1!,{r3-r6} 
   00008198 8AFFFFFB  BHI      __scatterload_copy         <0x818c> 
   0000819C E1B02E82  MOVS     r2,r2,LSL #29 
   000081A0 28B00030  LDMCSIA  r0!,{r4,r5} 
   000081A4 28A10030  STMCSIA  r1!,{r4,r5} 
   000081A8 45904000  LDRMI    r4,[r0,#0] 
   000081AC 45814000  STRMI    r4,[r1,#0] 
   000081B0 E1A0F00E  MOV      pc,r14 
   __scatterload_zeroinit: 
   000081B4 E3A03000  MOV      r3,#0 
   000081B8 E3A04000  MOV      r4,#0 
   000081BC E3A05000  MOV      r5,#0 
   000081C0 E3A06000  MOV      r6,#0 
   _zero_loop: 
   000081C4 E2522010  SUBS     r2,r2,#0x10 
   000081C8 28A10078  STMCSIA  r1!,{r3-r6} 
   000081CC 8AFFFFFC  BHI      _zero_loop                 <0x81c4> 
   000081D0 E1B02E82  MOVS     r2,r2,LSL #29 
   000081D4 28A10030  STMCSIA  r1!,{r4,r5} 
   000081D8 45813000  STRMI    r3,[r1,#0] 
   000081DC E1A0F00E  MOV      pc,r14 
   000081E0     4778  BX       pc 
   000081E2     46C0  NOP       
  __ARM_argv_veneer: 
   000081E4 E59F3004  LDR      r3,argv                    <0x81f0> 
   000081E8 E08F3003  ADD      r3,pc,r3 
   000081EC E12FFF13  BX       r3 
  argv: 
   000081F0 00003AB4  <Data> 0xB4 ':' 0x00 0x00 
>>> OS_CORE\#955 { 
   OS_TaskStat: 
   000081F4 E92D41F0  STMFD    r13!,{r4-r8,r14} 
 
这个程序我再用UV3调试的时候单步到0x00000008  E59FF018  LDR       PC,[PC,#0x0018]的时候也没法走了,请教解决之道啊?_ 
 
 
反汇编 
-7      0x0000366C  E3E00000  MVN       R0,#0x00000000 
-6      0x00003670  E59F1010  LDR       R1,[PC,#0x0010] 
-5      0x00003674  E5810000  STR       R0,[R1] 
   324:     T0TCR = 0X02;  
-4      0x00003678  E3A00002  MOV       R0,#0x00000002 
-3      0x0000367C  E5810004  STR       R0,[R1,#0x0004] 
   325: }  
-2      0x00003680  E8BD4070  LDMIA     R13!,{R4-R6,R14} 
-1      0x00003684  E12FFF1E  BX        R14 
    71:  B __main  
    72:   
    73:   
    74: ;/*********************************************************************************************************  
    75: ;** 函数名称: __user_initial_stackheap   
    76: ;** 功能描述: 库函数初始化堆和栈,不能删除  
    77: ;**   
    78: ;** 输 入: 参考库函数手册  
    79: ;**  
    80: ;** 输 出: 参考库函数手册  
    81: ;**   
    82: ;** 全局变量: 无  
    83: ;** 调用模块: 无  
    84: ;**  
    85: ;** 作 者: 陈明计  
    86: ;** 日 期: 2003年7月1日  
    87: ;**-------------------------------------------------------------------------------------------------------  
    88: ;** 修改人:  
    89: ;** 日 期:  
    90: ;**------------------------------------------------------------------------------------------------------  
    91: ;********************************************************************************************************//  
    92: __user_initial_stackheap      
0x00000008  E59FF018  LDR       PC,[PC,#0x0018] 
    93:     LDR   r0,=bottom_of_heap  
0x0000000C  E59FF018  LDR       PC,[PC,#0x0018] 
    94:     MOV   pc,lr  
    95:   
    96: ;/********************************************************************************************************* 
 
[ 本帖最后由 llzzhh505 于 2007-9-22 17:59 编辑 ] |   
 
 
 
 |