ARM 有7个基本工作模式:
User : 非特权模式,大部分任务执行在这种模式
FIQ :当一个高优先级(fast) 中断产生时将会进入这种模式
IRQ :当一个低优先级(normal) 中断产生时将会进入这种模式
Supervisor :当复位或软中断指令执行时将会进入这种模式
Abort:当存取异常时将会进入这种模式
Undef:当执行未定义指令时会进入这种模式
System:使用和User模式相同寄存器集的特权模式
注意:
(1)除User(用户模式)是Normal(普通模式)外,其他6种都是Privilege(特权模式)。
(2)Privilege中除Sys模式外,其余5种为异常模式。
(3)各种模式的切换,可以是程序员通过代码主动切换(通过写CPSR寄存器),也可以是CPU在某些情况下自动切换。
(4)各种模式下权限和可以访问的寄存器不同。 |
|