陈老师好!<br /><br />在LPC2214(RAM空间起始0x40000000,长度0x4000)移植uCOSII,<br />范例中使用以下语句分配了系统模式堆栈<br /><br /> AREA Stacks, DATA, NOINIT<br />StackUsr<br /><br />在系统初始化时设置如下<br />;设置系统模式堆栈<br /> MSR CPSR_c, #0xdf<br /> LDR SP, =StackUsr<br /><br />在Keil环境下,使用ADS1.2编译工具,可以观察到SP指针被设<br />为0x40004000,即被设到了内存的最顶端,得到了最大的栈空间。<br /><br />我将此程序移植到Keil环境下,但使用编译工具RVCT3.0(RealView)<br />堆栈分配、设置的语句没有改变(Target页中的IRAM1选项填写正确),<br />但SP指针无法指到内存的最顶端,而是得到0x40001274之类。显然是 <br /> AREA Stacks, DATA, NOINIT<br />StackUsr<br />没有分配到最大的栈空间。<br /><br />请问陈老师,应该在程序中如何设置,才能得到正确的结果呢? |
|