|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 有8个基本工作模式:7 w0 k$ ^+ Y# W0 q, V# w2 Q
User:非特权模式,大部分任务执行在这种模式 t. F, \; |+ V O- E! K
FIQ:当一个高优先级(fast) 中断产生时将会进入这种模式
3 H4 F; s7 n5 \: ^5 H7 r IRQ:当一个低优先级(normal) 中断产生时将会进入这种模式
& u2 v6 T' n$ j$ z- c Supervisor:当复位或软中断指令执行时将会进入这种模式,上电时处于这种模式,权限最高。, y' X8 ]4 G* c7 J
Abort:当存取异常时将会进入这种模式6 H2 ^# W8 A: |
Undef:当执行未定义指令时会进入这种模式, \+ D5 q6 B2 P6 k
System:使用和User模式相同寄存器集的特权模式
% w Q: p" q0 u- N& p5 r7 f Cortex-A特有模式:
' r& ~: F& `" b+ X& @ ]Monitor:是为了安全而扩展出的用于执行安全监控代码的模式,也是一种特权模式
4 o; {" J3 x% k& g( p$ \" @" Z 对于不同模式, 可以用一句话来总结:特定的模式执行特定的代码,完成特定的功能,具有特定的权限。1 r% Q8 _+ r6 p$ h8 W6 z
模式之间可以通过软件控制进行转换,也可以通过外部中断或异常处理过程进行切换。
}# w- {: D( r8 x G; z3 d( U2 p8 F. k8 ]- E4 J8 U
. j. g7 G: E8 E# Y
% C$ q0 q% q& \- I2 @
|
|