救救小弟。Keil arm汇编代码第一跳指令显示是LDR R4, [PC,0x00000018]第一次用Keil ARM 和Ulink,cpu 是lpc2136。用的是keil自动生成的startup.s,调试的时候不能跳到Reset_Addr,单步运行8次后跳到FFFFFFFF,死掉了。启动代码是:
Vectors LDR PC, Reset_Addr
LDR PC, Undef_Addr
LDR PC, SWI_Addr
LDR PC, PAbt_Addr
LDR PC, DAbt_Addr
NOP ; Reserved Vector
; LDR PC, IRQ_Addr
LDR PC, [PC, #-0x0FF0] ; Vector from VicVectAddr
LDR PC, FIQ_Addr
可是调试的汇编代码却是:
232: Vectors LDR PC, Reset_Addr
0x00000000 E59F4034 LDR R4,[PC,#0x0034]
233: LDR PC, Undef_Addr
0x00000004 E3A05002 MOV R5,#0x00000002
234: LDR PC, SWI_Addr
0x00000008 E5845000 STR R5,[R4]
235: LDR PC, PAbt_Addr
0x0000000C E3A05003 MOV R5,#0x00000003
236: LDR PC, DAbt_Addr
0x00000010 E5845004 STR R5,[R4,#0x0004]
237: NOP ; Reserved Vector
238: ; LDR PC, IRQ_Addr
0x00000014 E59F201C LDR R2,[PC,#0x001C]
239: LDR PC, [PC, #-0x0FF0] ; Vector from VicVectAddr
0x00000018 E3A03000 MOV R3,#0x00000000
240: LDR PC, FIQ_Addr
0地址的第一条为什么不是PC,而是R4?
而且单步一直运行到了0x00000018,接着就死了。为什么?