startup.s中有这么一段<br /><br />StackSvc DCD SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4<br />StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4<br />StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4<br />StackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4<br />StackUnd DCD UndtStackSpace + (UND_STACK_LEGTH - 1)* 4<br /><br />其中SVC_STACK_LEGTH 等设为零。<br /><br />这里为什么要减一?感觉减一后指针就越界了(结合分散加载文件来看的话)<br /><br />另外定义了用户模式栈后,那C程序的栈是否也可以使用这个栈?这两者可否重合?<br /><br />最后heap和stack共用一个顶,那堆栈岂不是重叠了一部分?<br /><br />刚入门,问题幼稚,还望大虾不吝指教谢谢<br /><br /> |
|