ARM嵌入式系統(tǒng)該如何學(xué)習(xí)?
目前,嵌入式處理器常見的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire,但ARM占據(jù)了絕對的主流。作為一家不生產(chǎn)芯片的芯片廠商,ARM卻在全球范圍內(nèi)支撐起了各種嵌入式設(shè)備、智能手機、平板電腦、智能穿戴和物聯(lián)網(wǎng)設(shè)備的運行,同時,ARM很早就開始“入侵”傳統(tǒng)X86架構(gòu)處理器堅守的高性能計算終端市場了。高性能、低功耗、低價格、豐富的可選擇芯片、廣泛的第三方支持與完整的產(chǎn)品線和發(fā)展規(guī)劃使得ARM大量涌現(xiàn)在人面前,那么作為初學(xué)者又該如何學(xué)習(xí)ARM呢?
密不可分的單片機
ARM嵌入式和單片機學(xué)習(xí)有著密不可分的關(guān)系,可以拋開復(fù)雜的軟件結(jié)構(gòu),先掌握硬件操作。ARM與單片機是有著許多區(qū)別的,相比來說ARM要比單片機復(fù)雜的多。據(jù)某位知乎大神表示,往往單片機只需要對一個寄存器賦值即可初始化,而在ARM下就要調(diào)用庫函數(shù),另外,每個引腳其功能都多了許多,相應(yīng)的配置也會更為麻煩。但如果有了豐富的ARM的項目經(jīng)驗就會發(fā)現(xiàn),其實它的應(yīng)用配置也是千篇一律,有章可循的。
著名專家韋東山也曾強調(diào),不要再用老方法學(xué)習(xí)單片機和ARM。他表示,學(xué)習(xí)單片機是沒有前途的。一是因為單片機太簡單,工作十年與兩年技能差別不大所以企業(yè)更偏向選擇薪資較低的新人,二是因為單片機的價格優(yōu)勢正在逐漸消失,目前智能保持微弱的優(yōu)勢就是穩(wěn)定性這一特點。如果單片機和Linux都想學(xué),在單片機->bootloader->Linux系統(tǒng)/驅(qū)動->APP(QT)這條學(xué)習(xí)線路上可以使用同一套開發(fā)板。首選三星(SAMSUNG)S3C2440、S3C6410、S5PV210、Exynos4412;其次是德州儀器 (TI) AM437X、AM335X;然后是飛思卡爾(freescale),iMX6;還有其它國產(chǎn)芯片:全志、瑞芯微。
ARM的學(xué)習(xí)方法
學(xué)習(xí)嵌入式難點不是在學(xué),而是很多人就在入門這一關(guān)就卡死了。覺得學(xué)的沒頭緒,是因為你學(xué)習(xí)方法不對,首先,你應(yīng)該要有目標,要學(xué)到什么程度,要從什么開始學(xué)起。
據(jù)知乎大神講解,在學(xué)習(xí)初期第一先看關(guān)于ARM芯片的Mannual;第二找一本關(guān)于內(nèi)核的不錯的書,比如,想學(xué)Cortex-M3的話,《The Definitive Guide to the Cortex-M3》是很不錯的??催@書的時候不需要全部掌握,只需要當做一本參考手冊來讀就好,知道在開發(fā)過程中遇到什么問題來這里哪一章找解決方法即可;第三買一塊開發(fā)板(上文所推薦的),參考板子帶的全程進行調(diào)試;第四自己跟項目,或者自己搞點開發(fā),例如開發(fā)一個小智能小車之類的,學(xué)習(xí)總得有點兒投入。
Linux作為重要工具,在不明白Linux的情況下,ARM的學(xué)習(xí)也將面臨瓶頸。目前嵌入式Linux領(lǐng)域稀缺的Linux移植到某個新型號的開發(fā)板上,能寫Linux驅(qū)動程序的人,熟悉Linux內(nèi)核裁減和優(yōu)化人?,F(xiàn)在公認的Linux的入門書籍是“鳥哥的私房菜” ,講得很全面,鳥哥的私房菜一共分為兩部,一部是基礎(chǔ)篇,一部是服務(wù)器篇。
當然,有知乎大神也推薦看ZLG公司的arm啟動文件startup.s還有就是arm公司的官方網(wǎng)站(這里都是最權(quán)威的東西),有一定基礎(chǔ)了之后,建議試著寫一些驅(qū)動,最后,根據(jù)自己的需要編寫代碼?!跋嘈拍悴皇且粋€人,推薦某些論壇,里面的高手很多,應(yīng)該能幫到你?!闭搲瘜W(xué)習(xí)也是非常明智的方法。相信總有一種方法是適合你的,但若想真正掌握好一門技術(shù)總是要付出一些艱辛的。
要知道為什么學(xué)?要知道學(xué)的是什么?要知道怎么學(xué)?要知道學(xué)了如何用?最后還要知道用的時候出了問題該如何解決?相信以這些問題為線索的學(xué)習(xí)過程一定可以幫助大家快速成為一名優(yōu)秀的嵌入式開發(fā)工程師。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。