堆栈计算计算

[复制链接]
2100|2
 楼主| ilovemysel 发表于 2008-4-8 15:59 | 显示全部楼层 |阅读模式
AC, Stack, ST, ck, ce
问题如下:<br /><br />FIQ_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />IRQ_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9*8<br />ABT_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />UND_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br /><br /><br />--------------华丽的分割线--------------------<br /><br />IrqStackSpace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;IRQ_STACK_LEGTH&nbsp;*&nbsp;4&nbsp;&nbsp;<br />FiqStackSpace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;FIQ_STACK_LEGTH&nbsp;*&nbsp;4&nbsp;&nbsp;<br />AbtStackSpace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;ABT_STACK_LEGTH&nbsp;*&nbsp;4&nbsp;&nbsp;<br />UndtStackSpace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;UND_STACK_LEGTH&nbsp;*&nbsp;4<br /><br /><br />--------------华丽的分割线--------------------<br /><br />StackIrq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IrqStackSpace&nbsp;+&nbsp;(IRQ_STACK_LEGTH&nbsp;-&nbsp;1)*&nbsp;4<br />StackFiq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FiqStackSpace&nbsp;+&nbsp;(FIQ_STACK_LEGTH&nbsp;-&nbsp;1)*&nbsp;4<br />StackAbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AbtStackSpace&nbsp;+&nbsp;(ABT_STACK_LEGTH&nbsp;-&nbsp;1)*&nbsp;4<br />StackUnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UndtStackSpace&nbsp;+&nbsp;(UND_STACK_LEGTH&nbsp;-&nbsp;1)*&nbsp;4<br /><br />--------------华丽的分割线--------------------<br />RW,是从0x40000000开始的。。。。<br /><br />在跳转到堆栈设置的时候,一开始就进行irq的堆栈设置<br />有一句&nbsp;LDR&nbsp;SP,StackIrq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />我用仿真观察sp的值是0x40002580<br /><br />怎么和我自己计算的想要的结果不一样,<br /><br />按照上面的分配方式计算,这个时候irq的sp应该是0x4000011C才对。<br /><br /><br />请虾米门解答,谢过~~<br />
dld2 发表于 2008-4-8 18:52 | 显示全部楼层

栈不是从RW开始处分配的,在RW和ZI之后

  
 楼主| ilovemysel 发表于 2008-4-8 20:15 | 显示全部楼层

兄弟能否说清楚点。。

d1d2兄,能否说清楚点,这个问题困扰了我好久。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

17

帖子

0

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