infocenter.arm。並查看各種ARM ARM(體系結構參考手冊)和TRM(技術參考手冊)的各種體系結構和內核。這些手冊比其他大多數公司的文件都要好。除了新的64位內容之外,就指令集而言,從一種架構到下一種架構的差異是微妙的。主要的區別與外設有關,mmu是一個緩慢變化的事情,中斷管理器已經採取了很大的步驟,並且如果不是兩次批發,至少已經更換了一次fpu(如果你甚至有一個fpu,這種例外情況並非如此規則,它消耗了巨大的房地產回報)。
我很困惑你的問題。我認爲在學習體系結構/指令集和學習操作系統調用之間劃清界線非常重要,這是兩件不同的事情。你很少需要操作系統的東西來看看源代碼(C/C++),而有限的asm則用於手動調整的C庫或boostrap代碼,以及中斷包裝器。同樣的,與外圍設備(arm的核心通常只有極少的外設,大部分都在供應商特定的東西中)相比,架構,寄存器,指令等等,我將它們作爲單獨的學習曲線分開,與asm沒有多大關係,該指令集與在任何其他平臺上學習外設沒有什麼不同,只是您讀取和寫入的一些地址。
如果您正在尋找非操作系統裸機,stm32f0發現是$ 10,我強烈推薦它。看起來ti有一個stellaris啓動板(等待我的到來,所以我不能談論太多關於它們,並且運輸是免費的,所以成本基本上與stm32板相同)stm32f4發現約爲20美元我幾乎不會將cortex-m4所具有的所有功能都叫做微控制器。
向上移動到linux能力或設計爲Linux系統有樹莓派,beaglebone和open-rd和up(pandaboard)。同樣,儘管你只是編寫另一個Linux C/C++程序,所以在那裏沒有多少興奮(與特定平臺有關,娛樂對於所有平臺都是一樣的),並且只需要很少的手臂知識。與基於ARM的微控制器相比,使用任何這些裸機編程平臺都可以非常容易地爲您提供賽車般的性能。
我有一個你可能不感興趣的拇指模擬器gdb有armulator,它是當天公司的基石。 skyeye或類似的東西,它有一個arm指令集模擬器和qemu一樣,除了gdb可以提供的東西外,它們都不會給你很大的可見性。 opencores的琥珀項目是一個armv2的克隆,你可以看到與armv4的密切關係,並且更新的是,如果沒有滿滿的現金,你將找不到rtl。憑藉我的手臂和芯片經驗(不,我不爲胳膊工作)我確實發現了值得關注的琥珀項目,但許多人不知道該如何處理它,並且真的對這種可見度水平不感興趣。 (這是指令兼容,一個好的設計,但不認爲你正在看臂設計,沒有祕密)。你可以從中學習基本的arm架構,然後轉向硬件,例如...
由於微控制器是基於cortex-m的,你可能會發現老式的微控制器是更好的踏腳石到上端臂的核心。基於ARM7tdmi的東西,如sam7和其他nxp,st,atmel等等,你仍然可以在sparkfun和微控制器專業人員和其他地方找到類似價格的arduino。
http://beagleboard.org/是一個很好的arm硬件平臺,包含多種軟件開發選項。 我還發現史蒂夫·弗伯的書「ARM片上系統架構」在它出來時非常好,但現在已經有點老了...... –