當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > arm11開發(fā)板適合新手學(xué)習(xí)嗎
作為一個新手來說,選擇一款適合自己學(xué)習(xí)的開發(fā)板,至關(guān)重要。對于ARM嵌入式的初學(xué)者,建議用ARM9開發(fā)板。ARM11并不適合新手學(xué)習(xí)。
首先,從功能上來說,ARM11要比ARM9強(qiáng)一些,但是性能優(yōu)異并不代表適合初學(xué)者。對于初學(xué)者來說ARM11的有些功能是冗余。
其次,學(xué)習(xí)ARM9或者ARM11就在所難免學(xué)習(xí)其所支持的操作系統(tǒng)Linux(ARM11可以支持Android)。目前,市面上ARM9的開發(fā)版的價(jià)格要比ARM11低很多,而兩者都可以運(yùn)行Linux操作系統(tǒng)。并且ARM9開發(fā)板的資料和教學(xué)視頻也更多一些。
后,ARM9現(xiàn)在相對來說比較簡單,ARM11能實(shí)現(xiàn)的功能,ARM9基本都能實(shí)現(xiàn)。
ARM9是比較成熟的系列,現(xiàn)在很多成熟的產(chǎn)品都是用arm9開發(fā)的。這個學(xué)好了,以后的系列自學(xué)都會容易一些,因?yàn)锳RM系列架構(gòu)都是一樣的。所謂“師傅領(lǐng)進(jìn)門,修行在自身”,學(xué)會用一種處理器,掌握學(xué)習(xí)方法,其他的也一樣。
寫驅(qū)動中不涉及CPU,只涉及CPU之外的設(shè)備
嵌入式芯片被稱為SoC(System on Chip),它上面既有CPU還有其他模塊,比如內(nèi)存控制器、USB、UART等。
對軟件工程師來說, 無論是ARM9、ARM11、A8還是A9,是沒有差別的;
差別不在于CPU核, 差別在于CPU之外的模塊的寄存器操作不一樣。
因?yàn)閷戲?qū)動并不涉及CPU核,只是操作CPU之外的設(shè)備,只是讀寫這些設(shè)備的寄存器。
2. 一理通,百理明:掌握了原理,通吃所有芯片
從2005年開始,在ARM架構(gòu)方面經(jīng)歷了ARM9,ARM11,CORTEX A8/A9,現(xiàn)在又到了多核;
期間用過MIPS,Blackfin等架構(gòu)的芯片,但是所用到的知識跟fs4412上所學(xué)的知識,完全沒變過!根本沒變過!
變化的就是調(diào)試驅(qū)動的經(jīng)驗(yàn)累積,就是學(xué)習(xí)的能力,快速掌握新知識的能力!
“要學(xué)fs4412干嘛?工作中又不用fs4412!”,
此話大錯特錯,用fs4412來學(xué)習(xí)知識,不是學(xué)習(xí)fs4412這個芯片本身;
即使現(xiàn)在選擇很牛的芯片來學(xué)習(xí),再過1年它也過時(shí)了;追芯片,怎么追得上!?
就比如公司即使現(xiàn)在用的 ARM Cortex-A17 , 用這個來學(xué)習(xí)到頭來只是學(xué)到皮毛,越是高端的處理器,公司的產(chǎn)品越是依賴于原廠或者方案公司,
接觸到的很多都是沒有手冊,沒有說明,甚至封裝打包成LIB庫的東西,真正核心的接觸不到。
“fs4412快停產(chǎn)了,還學(xué)它干嘛”, 大錯特錯,理由同上。
從2008年起三星就想停產(chǎn)fs4412,2013年也確實(shí)停過一會,但是馬上又恢復(fù)生產(chǎn)了:需求量太大了。
學(xué)習(xí)的是知識,不是學(xué)習(xí)芯片,萬一停產(chǎn)了又有什么關(guān)系?工作中幾乎可以肯定不用fs4412!
那么,怎么選擇開發(fā)板呢?
1.對于初學(xué)者: 我建議用市面多,常用的開發(fā)板來入門,比如華清遠(yuǎn)見的fs4412。
2.學(xué)完后再換另一種開發(fā)板重寫代碼
為什么要換開發(fā)板?
這是對你所學(xué)知識的檢驗(yàn)與煅煉,把fs4412上所有的代碼,都在新板子上自己重新寫出來:很多你沒有領(lǐng)會到的、
沒有在意過的知識點(diǎn),在這個過程中都會卡得你痛苦萬分,解決了它們你自然就學(xué)得更深了。只有這樣,前面在
3.要是需要一款開發(fā)方便的板子?
就選qs-pte9這是他與其他板子的不同: 平常我們接觸的嵌入式的開發(fā)往往和PC上的開發(fā)不一樣,而我們開發(fā)的qs-pte9卻剛好相反打造的是開發(fā)和pc上一樣。
下載到開發(fā)板編譯不需要用仿真器編譯器,我們提供了完整的ARM-Linux、PC-Linux虛擬機(jī)系統(tǒng),不用自己完成繁瑣的搭建和移植,節(jié)約您數(shù)周的時(shí)間。
板子支持C,C++,opencv,當(dāng)然我們也有自己函數(shù)庫供大家使用,也可以把你寫的程序直接移植到開發(fā)板上運(yùn)行。
另外:
ARM9和后面的Cortex-A系列(如A5、A8、A9)架構(gòu)或者指令集,確實(shí)有差別。
但是對于初學(xué)者或者初級的應(yīng)用工程師,我想這些是不重要的,至少只能說了解就可以了。
并不是需要熟悉或者精通。因?yàn)楫吘棺龀跫夐_發(fā)的,涉及到這方面的很少。
打個比方,前段時(shí)間我調(diào)試一個語音類的產(chǎn)品,只需要評估下,可能需要使用支持NEON指令集的CPU。
所以選了這樣一款A(yù)RM芯片,然后軟件打開NEON指令的編譯選項(xiàng)即可。經(jīng)過測試,加入NEON指令后,多媒體的編解碼會更高效。
但是作為快速開發(fā)產(chǎn)品,沒有必要去了解NEON是如何去提高效率的。