| 
 
|  我在LPC2131移植uC/OS_ii时,看到启动代码中的几个特殊模式的堆栈分配程序如下:<br />  InitStack    <br />        MOV     R0, LR<br />;Build the SVC stack<br />;设置管理模式堆栈<br />        MSR     CPSR_c, #0xd3  <br />        LDR     SP, StackSvc <br />;Build the IRQ stack <br />AREA    MyStacks, DATA, NOINIT, ALIGN=2<br />SvcStackSpace      SPACE   SVC_STACK_LEGTH * 4  ;Stack spaces for Administration Mode 管理模式堆栈空间<br />IrqStackSpace      SPACE   IRQ_STACK_LEGTH * 4  ;Stack spaces for Interrupt ReQuest Mode 中断模式堆栈空间<br />FiqStackSpace      SPACE   FIQ_STACK_LEGTH * 4  ;Stack spaces for Fast Interrupt reQuest Mode 快速中断模式堆栈空间<br />AbtStackSpace      SPACE   ABT_STACK_LEGTH * 4  ;Stack spaces for Suspend Mode 中止义模式堆栈空间<br />UndtStackSpace     SPACE   UND_STACK_LEGTH * 4  ;Stack spaces for Undefined Mode 未定义模式堆栈<br /><br />问题:MyStacks被分配到0x40001800,但排在第一位的StackSvc 为什么是0x4000185C呢?那5C个字节都放了些什么内容啊?多谢!<br /> | 
 |