1、 ARM处理器的工作状态
1)从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:
ARM状态
:此时处理器执行32位的字对齐的ARM指令;
Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令。
2)Thumb和ARM
大部分ARM core 提供:
ARM
指令集(32-bit )、
Thumb
指令集(16-bit)
3)状态切换方
法
ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,在开始执行代码时,应该处于ARM状态。
进入Thumb状态
当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。
切换到ARM状态