ARM状态和Thumb状态通俗理解

来源:互联网 发布:路由器虚拟服务器 知乎 编辑:程序博客网 时间:2024/06/05 18:53

            作者:kangear

            Email:baokang325@gmail.com

            Blog:kangear.blog.chinaunix.net

 

《嵌入式系统开发与应用教程(第2版)》上介绍说:有两种状态ARM状态和Thumb状态,当时初学甚为不解,现在一知半解时再看忽然想到了现实中的例子:

    ARM核就好比一个高中学校,那种包含普通高中和职业高中的。普通高中就相当于ARM状态,职业高中就相当于Thumb状态,这样还不能理解的话:可以认为 泡泡卡丁车 中普通模式和加速模式,,卡丁车加速要等到集气管加满,然后“ctrl”一下,就切换到了加速模式,气放完了就又回来了,不管加速模式还是普通模式都是在跑,只是速度不一样而已。

     而ARM状态和Thumb状态可以直接通过某些指令直接切换,都是在运行程序,只不过指令长度不一样而已。这个概念对初学者相当重要,因为当ARMThumb是什么还没弄清楚,怎么能理解两种状态呢?

     他们之间的关系清楚了,这样就可以深入了解ARM状态是什么,Thumb状态是什么了。

    另外:ARM的M系列主要用Thumb指令,ARM9和A系列主要用ARM指令。

    S3C2440.S启动代码中根本就没用Thumb指令。

0 0