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