
彭丹 周海濤
本書主要介紹ARM開發的相關知識,詳細講解常用的ARM指令及如何基於ARM架構的外設編寫驅動程序,並分析了開源軟件U-Boot的啓動源代碼和網絡協議棧。 本書第1~4章爲基礎篇,主要介紹CPU與ARM、搭建環境、ARM編程、異常等;第5~13章爲編程篇,主要介紹基於Exynos 4412的常用外設的工作原理及驅動程序編寫等;第14~17章爲應用篇,主要介紹開源軟件U-Boot的使用及啓動程序,並分析網卡DM9000AE的驅動和網絡協議棧;以及關於彙編的兩點補充。 本書適合從事嵌入式開發的工程師和有一定計算機基礎和C語言編程經驗的初學者學習參考。
作爲資深從業人員,此書還是值得閱讀的,其中一些基礎知識值得玩味。 1、arm彙編指令集分類,算術運算,邏輯運算,移位,跳轉,存儲訪問,判斷比較等; 2、預處理、編譯、彙編和鏈接的關係,分別有什麼選項,再引出makefile和鏈接文件lds,非常適合入門; 3、Arm寄存器分組,函數過程調用ATPCS即ARM-Thumb過程調用標準,數據棧的使用,數據棧的切換 4、異常發生時,硬件和軟件各做了哪些工作,總結很到位 5、本書最後的結構體訪問效率爲什麼高從編譯和源代碼兩個角度,看彙編生成指令的條數來比較,管中窺豹,效果很好。 6、本書最後的位置無關碼的生成,從彙編角度分析,直接地址跳轉以及全局變量初始值的訪問來說,一目瞭然,講得很透徹。 7、至於其他部分,本書是針對具體一款arm處理器,解剖麻雀,講解中斷、串口、ADC、I2C、SPI、Uboot等例子,可以一帶而過,因爲具體使用時,不一定用他這款處理器,與其花再多時間,也是浪費。
我從公衆號一口Linux過來的,這本書對我來說還是有些深,但我感受到作者言辭懇切,他是真盼望我們學會呀。也有生動的例子幫助理解,比如作者在解釋ARM授權架構,內核,層級的專業概念後,又類比,授權架構就是把別人的文章修改之後發,授權內核就是引用別人文章,授權層級就是轉發別人文章。行雲流水,沒有廢話,值得一讀!
很有深度,需要細細研讀,方能吸取其中各個知識點,需要有一定嵌入式基礎的。