<br /><br /><br />为什么这样程序能运行(lpc2292):<br /><br />;/* 分配堆栈空间 */<br /> AREA MyStacks, DATA, NOINIT, ALIGN=2<br /> <br />SpaceForWriteflash SPACE 0x400<br />SpaceForStackUsr SPACE USR_STACK_LEGTH * 4 <br />StackUsr SPACE USR_STACK_LEGTH * 4 ;UsrStackSpace StackUsr//0x100<br />StackUnd SPACE UND_STACK_LEGTH * 4 <br />StackAbt SPACE ABT_STACK_LEGTH * 4 ;Stack spaces for Suspend Mode 中止义模式堆栈空间<br />StackFiq SPACE FIQ_STACK_LEGTH * 4 ;Stack spaces for Fast Interrupt reQuest Mode 快速中断模式堆栈空间<br />StackIrq SPACE IRQ_STACK_LEGTH * 4 ;Stack spaces for Interrupt ReQuest Mode 中断模式堆栈空间<br />StackSvc SPACE SVC_STACK_LEGTH * 4 <br /><br /><br /><br />但如下却不正常:<br /><br />StackUsr DCD UsrStackSpace <br />StackUnd DCD UndtStackSpace<br />StackAbt DCD AbtStackSpace<br />StackFiq DCD FiqStackSpace<br />StackIrq DCD IrqStackSpace<br />StackSvc DCD SvcStackSpace<br />;/* 分配堆栈空间 */<br /> AREA MyStacks, DATA, NOINIT, ALIGN=2<br />SpaceForWriteflash SPACE 0x400<br />SpaceForStackUsr SPACE USR_STACK_LEGTH * 4<br />UsrStackSpace SPACE USR_STACK_LEGTH * 4 ;UsrStackSpace StackUsr//0x100<br />UndtStackSpace SPACE UND_STACK_LEGTH * 4 <br />AbtStackSpace SPACE ABT_STACK_LEGTH * 4 ;Stack spaces for Suspend Mode 中止义模式堆栈空间<br />FiqStackSpace SPACE FIQ_STACK_LEGTH * 4 ;Stack spaces for Fast Interrupt reQuest Mode 快速中断模式堆栈空间<br />IrqStackSpace SPACE IRQ_STACK_LEGTH * 4 ;Stack spaces for Interrupt ReQuest Mode 中断模式堆栈空间<br />SvcStackSpace SPACE SVC_STACK_LEGTH * 4<br /><br />调试一直在如下转圈:<br />_zero_loop [0xe2555004] subs r5,r5,#4<br />000001c0 [0x24847004] strcs r7,[r4],#4<br />000001c4 [0x8afffffc] bhi _zero_loop |
|