[ZLG-ARM] 请教陈老师有关堆栈分配的问题

[复制链接]
2617|1
 楼主| a_bb 发表于 2007-4-2 12:49 | 显示全部楼层 |阅读模式
AC, ST, Stack, ck, ni
陈老师好!<br /><br />在LPC2214(RAM空间起始0x40000000,长度0x4000)移植uCOSII,<br />范例中使用以下语句分配了系统模式堆栈<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;Stacks,&nbsp;DATA,&nbsp;NOINIT<br />StackUsr<br /><br />在系统初始化时设置如下<br />;设置系统模式堆栈<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#0xdf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;=StackUsr<br /><br />在Keil环境下,使用ADS1.2编译工具,可以观察到SP指针被设<br />为0x40004000,即被设到了内存的最顶端,得到了最大的栈空间。<br /><br />我将此程序移植到Keil环境下,但使用编译工具RVCT3.0(RealView)<br />堆栈分配、设置的语句没有改变(Target页中的IRAM1选项填写正确),<br />但SP指针无法指到内存的最顶端,而是得到0x40001274之类。显然是&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;Stacks,&nbsp;DATA,&nbsp;NOINIT<br />StackUsr<br />没有分配到最大的栈空间。<br /><br />请问陈老师,应该在程序中如何设置,才能得到正确的结果呢?
 楼主| a_bb 发表于 2007-4-3 09:56 | 显示全部楼层

明白了

原来是在mem_c.scf文件中进行了设置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

98

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部