[ZLG-ARM] 还是关于堆栈,以下是我的理解

[复制链接]
2207|3
 楼主| pengdeyou 发表于 2007-6-2 13:33 | 显示全部楼层 |阅读模式
各个模式有各个模式的堆栈,在模式切换时保存现场<br />各个任务有各个任务的堆栈,任务切换时保存现场<br /><br />不知道理解得是否还有问题?<br /><br />但为什么没有定义全各个模式以及各个模式下的堆栈长度呢,下面是模板中的代码<br /><br /><br />;define&nbsp;the&nbsp;stack&nbsp;size<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*25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;every&nbsp;layer&nbsp;need&nbsp;9&nbsp;bytes&nbsp;stack&nbsp;,&nbsp;permit&nbsp;8&nbsp;layer&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 />NoInt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;0x80<br /><br />USR32Mode&nbsp;&nbsp;&nbsp;EQU&nbsp;0x10<br />SVC32Mode&nbsp;&nbsp;&nbsp;EQU&nbsp;0x13<br />SYS32Mode&nbsp;&nbsp;&nbsp;EQU&nbsp;0x1f<br />IRQ32Mode&nbsp;&nbsp;&nbsp;EQU&nbsp;0x12<br />FIQ32Mode&nbsp;&nbsp;&nbsp;EQU&nbsp;0x11<br /><br /><br />是不是要用户自己修改??<br /><br />
 楼主| pengdeyou 发表于 2007-6-2 13:34 | 显示全部楼层

还有

系统模式下的堆栈指向StackUsr<br /><br />那用户模式下呢?
 楼主| pengdeyou 发表于 2007-6-2 13:38 | 显示全部楼层

还有

Nouse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br /><br /><br />没看明白有什么用
computer00 发表于 2007-6-2 14:31 | 显示全部楼层

因为有些模式下不用调用函数,所以根本没必要使用到堆栈

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

52

帖子

1

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