ARM工作模式
学习ARM的最好的资料是ARM公司发布的资料:ARM Architecture Reference Manual.pdf
找到章节:Programmers’ Model
由文档可知:ARM处理器支持七种工作模式:
User usr 用户模式
FIQ fiq 快速中断模式
IRQ irq 普通中断模式
Supervisor svc 保护模式(权限相对较高,操作系统在此模式下运行)
Abort abt 异常模式,Implements virtual memory and/or memory protection
Undefined und 未定义指令模式(ARM处理器不支持的指令)
System sys Runs privileged operating system tasks (ARMv4 and above)
--------------------------------------------------------------------------
linux内核运行在svc模式下。
linux应用程序运行在usr模式下。
--------------------------------------------------------------------------
程序在不同模式下,能够运行的ARM处理器的指令是不一样的;能够访问的ARM处理器的寄存器是不一样的。
在权限较高的模式下面让操作系统去运行,因为相对信任操作系统。
而应用程序,因为编写应用程序的人员,水平参差不齐,所以在级别较低的模式下运行,即使出现错误
也不会对整个ARM处理器造成破坏性的影响。