分类: LINUX
2010-12-20 23:23:18
arm处理器模式解析
arm处理器中,可以使用的寄存器和模式有很多。下面我就来说下我的心得。
ARM微处理器支持7种运行模式,分别为:
● usr(用户模式):ARM处理器正常程序执行模式。(正常模式)
● sys(系统模式): 运行具有特权的操作系统任务。(正常模式、特权模式)
● fiq(快速中断模式):用于高速数据传输或通道处理(异常模式、特权模式)
● irq(外部中断模式):用于通用的中断处理(异常模式、特权模式)
● svc(管理模式):操作系统使用的保护模式(异常模式、特权模式)
● abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 (异常模式、特权模式)
● und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 (异常模式、特权模式)
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
usr 和 sys 模式具有相同的寄存器资源,但sys有特殊权限,比如修改cpsr的值,来改变运行模式。
而usr模式不行。
svc 为管理模式,系统一上电,就会跳转到reset向量处,其实就是跳转到管理模式执行。当然在用户模式需要做系统调用的时候通常swi进入此模式。