[ZLG-MCU] LPC2000 stack 问题,请大虾们帮忙!

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

请大家帮忙

  
 楼主| han831 发表于 2007-4-29 20:29 | 显示全部楼层

版主在么?

请好心人给于解释,本人百思不得其解了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

1

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

2

主题

4

帖子

1

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