打印
[ZLG-ARM]

这是startup.s的部分,

[复制链接]
1721|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
兰天白云|  楼主 | 2007-7-12 07:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;define the stack size
;定义堆栈的大小
SVC_STACK_LEGTH         EQU         0
FIQ_STACK_LEGTH         EQU         0
IRQ_STACK_LEGTH         EQU         256
ABT_STACK_LEGTH         EQU         0
UND_STACK_LEGTH         EQU         0

NoInt       EQU 0x80
NoFIQ       EQU 0x40

USR32Mode   EQU 0x10
SVC32Mode   EQU 0x13
SYS32Mode   EQU 0x1f
IRQ32Mode   EQU 0x12
FIQ32Mode   EQU 0x11

其中 NoInt  EQU 0x80
     NoFIQ  EQU 0x40
表示什么意思?
还有
USR32Mode   EQU 0x10
SVC32Mode   EQU 0x13
SYS32Mode   EQU 0x1f
IRQ32Mode   EQU 0x12
FIQ32Mode   EQU 0x11
表示什么意思?

相关帖子

沙发
HQGBOY| | 2007-7-12 15:17 | 只看该作者

EQU 就是等于.

使用特权

评论回复
板凳
兰天白云|  楼主 | 2007-7-12 20:47 | 只看该作者

NoInt指什么?

使用特权

评论回复
地板
computer00| | 2007-7-12 20:50 | 只看该作者

应该是NoIRQ,即禁止IRQ中断

使用特权

评论回复
5
兰天白云|  楼主 | 2007-7-12 20:56 | 只看该作者

特殊功能寄存器的地址吗?

使用特权

评论回复
6
computer00| | 2007-7-12 21:06 | 只看该作者

不是的,就是一个常数,记数字难,改成符号来记

跟C语言里面的define差不多的功能.

你看看CPSR寄存器就清楚了,第7位刚好就是IRQ允许控制位,所以这里定义为0x80.

使用特权

评论回复
7
兰天白云|  楼主 | 2007-7-12 21:24 | 只看该作者

非常感谢computer00

使用特权

评论回复
8
兰天白云|  楼主 | 2007-7-13 15:06 | 只看该作者

表示通用中断堆栈长度为256(是字节,半字还是1字????)

IRQ_STACK_LEGTH         EQU         256
表示通用中断堆栈长度为256(是字节,半字还是1字????)

使用特权

评论回复
9
computer00| | 2007-7-13 15:22 | 只看该作者

应该是字节,你可以看到后面将会有/4操作.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

2962

帖子

7

粉丝