對于arm開發來說其實很多初學者會遇到很多的問題,比如說arm到底指的是什么?arm的處理器芯片應該如何來分類?當前應用比較多的arm處理器芯片究竟有哪些?等等。對于初學者來說有一些問題是一定要注意的,因為在猶豫的時候可能就會選擇錯的思路。一起來看看arm開發該如何去學。
初學者必須要一開始就掌握arm開發體系結構域匯編指令嗎?
在我們身邊的很多ARM初學者,剛開始就抱著很多有關ARM體系結構的書籍開始苦讀,更有很多初學者,在很多具體內容上總是鉆牛角尖,花費了大量時間在ARM匯編指令上,雖然對一些ARM的相關概念會比較了解,但與真正的具體應用還是相差很遠,有很多初學者有這樣的體會,在學完ARM體系結構之后,對ARM的應用還是無從下手,也正因為這個原因,很多人就放棄了ARM嵌入式開發的學習。
當然也不是不主張看ARM體系結構的相關書籍,但關鍵在于怎么看、看到什么程度,根據相關經驗來看,ARM初學者對于ARM體系結構的相關知識只需要做到了解程度就可以了,對于ARM的匯編可以完全不用記憶,只需要看懂就可以,隨著初學者對ARM更深入地學習,有關ARM體系結構與匯編指令的知識以后可能會反復出現,遇到時可以再通過有針對性的看重點內容及相關知識點,相信會取得比較好的效果。
對于初學者來說是需要選擇適合arm的軟件集成開發環境
目前,流行的ARM軟件集成開發環境有ADS1.2、Keil uV3和IAR等。對于51單片機應用開發工程師來說,Keil開發環境應該應用得比較熟練,若采用Keil uV3進行ARM軟件開發,應該可以快速上手。但對于初學者來講,并不建議選擇Keil uV3進行ARM軟件開發,對于初學者應該明白和了解其原因:1、Keil uV3是第三方ARM軟件集成開發環境,目前支持的ARM芯片種類還不多,所帶的編譯器也并不完善;2、由于Keil uV3為了方便用戶的開發,提供了現成的ARM啟動文件,換句話說,它屏蔽了ARM開發中的一個重要內容——啟動代碼的編寫,而這一點對初學者來說應該是非常重要的內容。
初學者拿到開發板之后不要盲目的進行實驗
對于ARM初學者來講,在拿到開發板之后,由于其好奇心恨不得一口氣就把所有的實驗做完,對于這樣的做法我們是堅決的反對,對于很多初學者來講,沒有一個明確的目標,可能很多實驗都是做不出結果的,甚至會損壞開發板。
學ARM必需懂得嵌入式操作系統
很多ARM初學者有一個錯誤的概念——學ARM必搞嵌入式操作系統。認為在ARM上跑嵌入式操作系統就代表技術先進、產品檔次高的觀點絕對是謬論。持這種觀點的人一定是沒有做過具體的產品開發。一個嵌入式產品是否需要跑嵌入式操作系統,是由很多因素決定的,例如,產品的功能需求、開發成本、開發周期等都是需要綜合考慮的。對于ARM的初學者來說,前期我們并不建議使用嵌入式操作系統,而應當把所有配套實驗都熟練掌握之后,可以考慮學習一個具體的嵌入式操作系統。對于初學者來講,我們推薦源碼公開的uC/OS-II嵌入式操作系統,之所以推薦是因為這樣的方式方法很容易通過閱讀源碼達到徹底掌握嵌入式操作系統的目的。
要充分利用網絡資源,要有不恥下問的學習心態
我們已經進入了信息大爆炸的時代,很多知識都可以通過網絡及時地獲得。在學習的過程中遇到困難時,可以通過網絡獲得幫助,只要我們虛心好學,不恥下問(當然要注意在網絡上尋求別人幫助的方式方法),一定會得到很多好心人的幫助,使自己每天都有所提高。
大家應該都非常清楚“學無止境”的含義
學習ARM嵌入式開發,尤其對于初學者而言,不應該過早地、過多地將精力用在嵌入式系統移植、Linux內核的研究和學習上,這些誘人的“熱點”很容易使初學者迷失方向,進而忽視對基礎知識的深入學習,到頭來說得頭頭是道,可真的干起來卻離實際的需求差得太遠,作為初學者一定要明白學習的終目的是為了滿足應用的需求,只要方法得當,掌握嵌入式開發應用技術其實不是什么難事。