ARM Cortex-A处理器有8个基本工作模式:
User: 非特权模式,一般在执行上层的应用程序时处理器处于该模式
FIQ: 当一个高优先级的中断产生时处理器将自动进入这种模式
IRQ: 当一个低优先级(normal) 中断产生时将会进入这种模式
SVC: 当复位或软中断指令执行时将会进入这种模式
Abort: 当存取异常时将会进入这种模式
Undef: 当执行未定义指令时会进入这种模式
System: 使用和User模式相同寄存器集的特权模式
Cortex-A处理器特有模式:
Monitor:为了安全而扩展出的用于执行安全监控代码的模式
模式的分类:
1)除User模式外其他七种模式都是特权模式 - 权限比较高
2)FIQ、IRQ、SVC、Abort、Undef异常模式 - 产生异常时进入这几种模式
特定的模式下执行特定的代码,完成特定的功能,拥有特定的权限
7种异常源,异常发生时进入对应的异常模式:
异常源:- FIQ - IRQ - Reset/软中断 - DataAbort/PrefetchAbort - Undef
异常模式:FIQ - IRQ - SVC —————— Abort ———————— Undef