2008年10月27日星期一

arm硬件知识 arm和thumb

ARM7TDMI核以后,T变种的ARM微处理器有两种工作状态
ARM状态
Thumb状态
ARM是32位指令集
Thumb是16位指令集,功能是ARM指令集的功能子集。

在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且该转变不影响处理器的工作模式和相应寄存器中的内容。

ARM指令集和Thuumb指令集均有切换处理器状态的指令,并可以再两种工作状态之间切换,但是ARM微处理器在开始执行代码时,应该处于ARM状态。
进入Thumb状态:当操作数寄存器的状态位(位[0])为1时,执行BX指令使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ,FIQ,Undef,Abort,SWI等),则异常处理返回时,自动切换到Thumb状态。
进入ARM状态:当操作数寄存器的状态位(位[0])为0时,执行BX指令使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。

没有评论: