各位好,有个棘手的问题请教一下:
我的arm板子是自己做的,arm芯片为lpc2129,用keil+u-link2调试程序走到0x1c地址就在执行就飞了,下面是程序跑飞的代码位置:
程序复位:
246: Vectors LDR PC, Reset_Addr
0x00000000 E59F4034 LDR R4,[PC,#0x0034]
247: LDR PC, Undef_Addr
0x00000004 E3A05002 MOV R5,#0x00000002
248: LDR PC, SWI_Addr
0x00000008 E5845000 STR R5,[R4]
249: LDR PC, PAbt_Addr
0x0000000C E3A05003 MOV R5,#0x00000003
250: LDR PC, DAbt_Addr
0x00000010 E5845004 STR R5,[R4,#0x0004]
251: NOP ; Reserved Vector
0x00000014 E59F201C LDR R2,[PC,#0x001C]
252: LDR PC, IRQ_Addr
0x00000018 E3A03000 MOV R3,#0x00000000
253: LDR PC, [PC, #-0x0FF0] ; Vector from VicVectAddr
0x0000001C E1020093 SWP R0,R3,[R2]
程序就在上面的0x0000001c之后跑飞,跳到一个0x7ffffe2d8的位置,希望大家帮我解决一下这个问题,谢谢各位了!!!! |