這本是首先要推薦的,周立功寫的經(jīng)典系列教材之一(另一個是基礎(chǔ)教程系列,下面介紹)。
上冊前兩章為基于EasyARM2131的編譯環(huán)境介紹,后三章功能部件的詳細(xì)介紹與使用。下冊是基于UCOS-Ⅱ操作系統(tǒng)的應(yīng)用。
優(yōu)點:每個章節(jié)都有配套實驗和程序代碼,非常適合初學(xué)者對ARM體系建立整體框架,簡潔實用。
缺點:沒有對匯編語言的講解,在研究啟動代碼時有些不方便。而且你的板子并不是2104,啟動代碼會與書中例子不同,需要自己修改。(這一點可以參看基礎(chǔ)教程彌補。)
本文引用地址:
http://m.butianyuan.cn/article/201611/319575.htm《ARM嵌入式系統(tǒng)基礎(chǔ)教程》 (周立功 著北京航天航空大學(xué)出版32.00元)
這是該系列教材中最基本,也是最重要的教材。該系列中還有三本實驗教程(分別基于EasyARM2200、SmartARM2200、MagicARM2200實驗開發(fā)板)、兩本軟件開發(fā)實例和一本學(xué)習(xí)指導(dǎo)。
《基礎(chǔ)教程》前兩章為概論,2~4章為匯編指令介紹,5、6章為功能部件使用介紹,也配有例子,但沒深入淺處詳細(xì)。最后兩章是基于UCOS-Ⅱ操作系統(tǒng)的應(yīng)用。
優(yōu)點:體系比較完整,可選性強;有匯編語言的詳細(xì)講解,便于對啟動代碼深入研究;最重要的是這個教材的ppt課件做的非常棒,生動、形象,可以幫助對運行機理的理解。多說一句,其實學(xué)習(xí)ARM是個很枯燥的過程,尤其是剛開始,堅持看下去很重要,看不懂的可以先跳過。但不論你看懂多少,你看過一遍之后絕對會有很大收獲的,這點很重要。所以強烈建議配合課件使用。
缺點:正是因為全,所以顯得很繁瑣,讓人無從下手,不利于快速理解ARM的運行機理掌握使用方法。并且章節(jié)后例子不多,不夠?qū)嵱?。所以只建議使用《基礎(chǔ)教程》,不要再選用其他的配套教材,而用《深入淺出》代替。
此外,我在論壇里還聽過另外一個意見,“由于周立功的書都是參照ARM公司與PHILIPS公司的使用手冊編寫(說是參照,基本就是原版翻譯),所以里面的講述方法都是西方人的思維邏輯,看著不順暢。所以推薦使用《ARM體系結(jié)構(gòu)與編程》(杜春雷清華大學(xué)出版社 42.00)”我個人意見是,這些所謂的缺點影響不大,畢竟周立功的教材有強大的ppt課件與開發(fā)板支持,這點是別的教材無法相比的。不過仁者見仁智者見智,你有這類同感的話,也可以參考一下《ARM體系結(jié)構(gòu)與編程》,換個思維方式學(xué)習(xí)。
對于ARM7硬件體系的學(xué)習(xí),就建議這兩本教材配合使用。具體使用建議以《深入淺出》為主(可以只看上冊),參照《基礎(chǔ)教程》掌握啟動代碼的改寫,并配合ppt課件,以實現(xiàn)快速掌握ARM的框架,能夠完成簡單的應(yīng)用后再深入研究各個細(xì)節(jié)。
《嵌入式實時操作系統(tǒng)μCOS-Ⅱ原理及應(yīng)用》(22.00)
這是一個很必要說的問題,當(dāng)學(xué)習(xí)完ARM的硬件原理后,肯定要學(xué)習(xí)嵌入式操作系統(tǒng)。對于ARM7,最常用的就是UC OS2操作系統(tǒng)。所以一本UCOS-Ⅱ的書是必不可少的。這類的書也有兩本,其他的都不值一提。一本是由邵貝貝翻譯的國外經(jīng)典教材《嵌入式實時操作系統(tǒng)UCOS-Ⅱ》,這本過于詳細(xì)的分析了系統(tǒng)代碼,不建議使用。一本是《嵌入式實時操作系統(tǒng)μCOS-Ⅱ原理及應(yīng)用》(北航出版社任哲 編 22.00),這本詳略得當(dāng),是快速入門的不錯教材,建議使用。
總的來說就是推薦三本書和一套課件--《深入淺出ARM7--LPC213x(上.下)》、《ARM嵌入式系統(tǒng)基礎(chǔ)教程》、《嵌入式實時操作系統(tǒng)μCOS-Ⅱ原理及應(yīng)用》和《ARM嵌入式系統(tǒng)基礎(chǔ)教程》一書配套課件。
最后是引用論壇里幾個網(wǎng)友的經(jīng)驗:
“了解arm的工作原理,寄存器的結(jié)構(gòu),引腳功能。
C是基礎(chǔ),一定要學(xué)好。
開發(fā)板是要買的,一般都是s3c2410,或者2440
建議買實體書,經(jīng)常要翻的,看電子的很麻煩。 ”
“樓主真要學(xué)的話還是建議買一套嵌入式系統(tǒng)學(xué)習(xí)開發(fā)
套件,一般都會附帶有比較豐富的學(xué)習(xí)資料的。如果樓主
只是單看書的話很快就會看不下去的,至少我是這樣的
感受……
邊學(xué)習(xí)邊實踐最好!”
“如果熟悉51的話對你來說學(xué)習(xí)ARM已經(jīng)足夠,需要注意的是
理解arm的啟動過程非常重要!其它的東西無非是一些寄存器的使用,使用過程可以參考
數(shù)據(jù)手冊!對于UC/OS而言搞清任務(wù)的調(diào)度,信號的傳遞,c/c++的程度至少也要熟練,或者有過完整的51程序設(shè)計經(jīng)歷也就可以了。最后我建議邊學(xué)便接觸,畢竟動手的結(jié)果和看書會有不同,動手遇到問題再學(xué)習(xí)正對性強!理解也深刻!”
“要學(xué)習(xí)操作系統(tǒng)的話你必須對硬件有一定的了解.首先要熟練掌握c語言,還要能看懂匯編,因為移植的關(guān)系,uC有一部分代碼就是匯編的.硬件方面,你至少要知道中斷是怎么回事.然后就可以正式學(xué)習(xí)了.注意一定要先抓住主干,不要上來就陷入代碼分析中不能自拔.很多書就是這樣很煩瑣的介紹uC/OS-II各個部分的代碼,唯一結(jié)果就是把初學(xué)者嚇跑.
我的經(jīng)驗先把整個操作系統(tǒng)是怎么跑起來的搞明白,再去分析具體代碼. ”
評論