首页 理论教育Cortex-M4微处理器的工作状态

Cortex-M4微处理器的工作状态

【摘要】:从编程的角度看,传统ARM微处理器的工作状态一般有两种,并可在两种状态之间切换。第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令集。当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。ARM微处理器支持7种运行模式,分别如下:用户模式:ARM处理器正常的程序执行状态。

从编程的角度看,传统ARM微处理器的工作状态一般有两种,并可在两种状态之间切换。

(1)第一种为ARM状态,此时处理器执行32位的、字对齐的ARM指令集。

(2)第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令集。

当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且处理器工作状态的转变并不影响处理器的运行模式和相应寄存器中的内容。

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。ARM微处理器支持7种运行模式,分别如下:

(1)用户模式(usr):ARM处理器正常的程序执行状态。

(2)快速中断模式(fiq):用于高速数据传输或通道处理。(www.chuimin.cn)

(3)外部中断模式(irq):用于通用的中断处理。

(4)管理模式(svc):操作系统使用的保护模式

(5)数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

(6)系统模式(sys):运行具有特权的操作系统任务。

(7)未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

大多数应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余6种模式统称为非用户模式或特权模式(Privileged Modes)。除用户模式和系统模式以外的5种模式又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。