处理器模式要么是特权模式,要么是非特权模式。特权模式允许对cpsr的完全读/写访问,非特权模式只允许对cpsr的控制域进行读访问,但允许对条件模块的读/写访问。
ARM共有7种处理器模式。6种特权模式:中止(abort)模式、中断(interrupt request)模式、快速中断(fast interrupt request)模式、管理(supervisor)模式、系统(system)模式、未定义(undefined)模式;一种非特权模式—用户(user)模式。
当处理器访问存储器失败时,进入数据访问中止模式(abort);中断模式和快速中断模式分别对ARM处理器两种不同级别的中断作出响应;处理器复位以后,进入管理模式,操作系统内核也通常处理这么模式;系统模式是一种特殊的用户模式,允许对cpsr的完全读写访问;当处理器遇到没有定义的指令或处理器不支持的指令时,进入未定义模式;用户模式运行应用程序。
当通过程序直接改写cpsr来切换模式时,cpsr不会被复制到spsr。只有当一个异常或中断发生时,才保存cpsr。
上电后从管理模式开式。
阅读(2522) | 评论(0) | 转发(0) |