《嵌入式系統(tǒng)開發(fā)與應(yīng)用教程(第2版)》上介紹說:有兩種狀態(tài)ARM狀態(tài)和Thumb狀態(tài),當(dāng)時初學(xué)甚為不解,現(xiàn)在一知半解時再看忽然想到了現(xiàn)實中的例子:
ARM核就好比一個高中學(xué)校,那種包含普通高中和職業(yè)高中的。普通高中就相當(dāng)于ARM狀態(tài),職業(yè)高中就相當(dāng)于Thumb狀態(tài),這樣還不能理解的話:可以認為泡泡卡丁車中普通模式和加速模式,,卡丁車加速要等到集氣管加滿,然后“ctrl”一下,就切換到了加速模式,氣放完了就又回來了,不管加速模式還是普通模式都是在跑,只是速度不一樣而已。
本文引用地址:http://www.ex-cimer.com/article/201611/319527.htm而ARM狀態(tài)和Thumb狀態(tài)可以直接通過某些指令直接切換,都是在運行程序,只不過指令長度不一樣而已。這個概念對初學(xué)者相當(dāng)重要,因為當(dāng)ARM Thumb是什么還沒弄清楚,怎么能理解兩種狀態(tài)呢?
他們之間的關(guān)系清楚了,這樣就可以深入了解ARM狀態(tài)是什么,Thumb狀態(tài)是什么了。
另外:ARM的M系列主要用Thumb指令,ARM9和A系列主要用ARM指令。
S3C2440.S啟動代碼中根本就沒用Thumb指令。
評論