通常我們都有這么一個(gè)模糊的概念,我以前做單片機(jī),單片機(jī)是不是嵌入式系統(tǒng)呢? 當(dāng)然是。只不過(guò)呢,我們現(xiàn)在把它看成一個(gè)低端的嵌入式系統(tǒng)。通常我們所說(shuō)的嵌入式系統(tǒng)是指什么呢?指像“ARM+LINUX”這樣結(jié)構(gòu)的系統(tǒng)。 低端的單片機(jī)系統(tǒng)和高端的ARM+LINUX這種結(jié)構(gòu)有什么不同呢? 單片機(jī)系統(tǒng)在8位的單片機(jī)系統(tǒng)上跑一段程序,實(shí)際上呢,就是一段應(yīng)用程序。這個(gè)架構(gòu)比較簡(jiǎn)單。 ARM+LINUX系統(tǒng)呢,最下層是硬件,往上呢是驅(qū)動(dòng)程序->操作系統(tǒng)->最上面呢是應(yīng)用程序。最下面的硬件一般比較復(fù)雜,32位的系統(tǒng)(ARM、PPC、MIPS、X86等)。 在整個(gè)架構(gòu)上有很大不同。如果要開發(fā)ARM+LINUX這樣系統(tǒng)的時(shí)候,需要了解更多的知識(shí),比如:什么是操作系統(tǒng)?驅(qū)動(dòng)程序如何掛在到操作系統(tǒng)上?應(yīng)用程序如何通過(guò)操作系統(tǒng)對(duì)硬件進(jìn)行操作等等。 這樣看來(lái)ARM+LINUX的架構(gòu)比8位單片機(jī)這個(gè)架構(gòu)要復(fù)雜很多。 一.單片機(jī)和ARM的區(qū)別 1. 單片機(jī)主要是面向于低端市場(chǎng),實(shí)現(xiàn)一般性的控制功能,單片機(jī)一般單片集成CPU,RAM,ROM,各種外設(shè)。 2. ARM主要面向更復(fù)雜的嵌入式產(chǎn)品,主頻更高,外圍接口功能更加豐富。 3. ARM將逐漸取代單片機(jī),成為嵌入式產(chǎn)品的通用硬件平臺(tái)。 二.ARM是什么?什么是ARM9,ARM11,ARMCORTEX 1. ARM是一家公司,它不做芯片生產(chǎn),銷售,只是設(shè)計(jì)芯片內(nèi)核,并把知識(shí)產(chǎn)權(quán)給芯片制造商。ARM是一門技術(shù)科學(xué),它也是一種芯片。 2. ARM11系列微處理器ARM公司近年推出的新一代RISC處理器,它是RAM新指令架構(gòu),ARM11處理器瞄準(zhǔn)的是高端的移動(dòng)無(wú)線,消費(fèi)類電子,網(wǎng)絡(luò)和汽車電子應(yīng)用,而且ARM11內(nèi)核的很多特性使它還能充分適應(yīng)高端嵌入式實(shí)時(shí)應(yīng)用系統(tǒng),如未來(lái)的網(wǎng)絡(luò)和家庭娛樂(lè)產(chǎn)品。 3. ARMCORTEX不是代表更高端,而是一個(gè)全新的系列,CORTEX分三個(gè)系列:A系列,R系列,M系列,在R系列里,實(shí)時(shí)性高,多用于汽車電子和特殊行業(yè),并且在實(shí)際開發(fā)中很少遇到,M系列終端快,多應(yīng)用于機(jī)械加工領(lǐng)域,典型的產(chǎn)品有M0,M3,M4,其中M0是為了 搶占傳統(tǒng)的51單片機(jī)市場(chǎng),M3是為了取代ARM7,M4在M3的基礎(chǔ)上增加了DSP和MPU,這是為了與低端的DSP處理器競(jìng)爭(zhēng),A系列是面向應(yīng)用的,如蘋果公司的iphone4就是cortexA8架構(gòu)的,但是A系列的底層嵌入式開發(fā)難度很大,國(guó)內(nèi)很少有公司有實(shí)力開發(fā)ARM A系列處理器并采用 三.ARM9和ARM11的區(qū)別 1. 主頻不同,2440是400M,6410是533/667M. 2. 處理器的版本不一樣。 3. 6410在視頻處理方面比2440要強(qiáng)很多。 4. 6410采用的是DDR內(nèi)存控制,2440采用的是SDRAM內(nèi)存控制器。 5. 6410為雙總線架構(gòu),一路用于內(nèi)存總線,一路用于Flash總線。 6. 6410的啟動(dòng)方式更加靈活,主要包括SD,Nand Flash NorFLash和oneFLash等設(shè)備啟動(dòng)。 7. 6410的NondFLash支持SLC和MLC兩種架構(gòu),從而大大擴(kuò)大存儲(chǔ)空間。 8. 6410具備8路DMA通道。 9. 6410的性能高于2440,ARM11通常跑操作系統(tǒng),ARM9可跑可不跑。 10. 6410還支持2D和3D的圖形加速。 四.嵌入式行業(yè)中的職業(yè)劃分,分4種 1. 硬件工程師,包括電路工程師,芯片工程師,PCBLayout工程師,MCS51硬件工程師,ASIC設(shè)計(jì)工程師FPGA.(即硬件層) 2. 內(nèi)核開發(fā),內(nèi)核優(yōu)化,系統(tǒng)移植工程師,將LINUX系統(tǒng)進(jìn)行移植和簡(jiǎn)單的裁剪修改使之運(yùn)行起來(lái)。(即操作系統(tǒng)層) 3. 核心底層工程師,深入理解LINUX內(nèi)核并且有一定的硬件知識(shí),精通C語(yǔ)言,數(shù)據(jù)結(jié)構(gòu),最難的是自己寫一個(gè)驅(qū)動(dòng)出來(lái),可以看時(shí)序圖,電路圖等。(即驅(qū)動(dòng)層) 4. 嵌入式應(yīng)用軟件工程師,有LINUX平臺(tái)或WINCE平臺(tái)開發(fā)經(jīng)驗(yàn),熟悉C++,可以開發(fā)基于QT,GTK(圖形庫(kù))等C++應(yīng)用程序,比如手機(jī)上的QQ等這些相對(duì)來(lái)說(shuō)簡(jiǎn)單。(即應(yīng)用層) 寄語(yǔ):我們知道,嵌入式系統(tǒng)是一個(gè)很有前景的行業(yè)。學(xué)會(huì)嵌入式技術(shù),就相當(dāng)于給自己創(chuàng)造了更多的機(jī)會(huì)。那么, 現(xiàn)在可以預(yù)計(jì)的將來(lái),嵌入式技術(shù)的應(yīng)用會(huì)越來(lái)越廣泛(大量的人才需求,未來(lái)五年內(nèi),國(guó)內(nèi)LINUX嵌入式軟件開發(fā)的人才缺口達(dá)到120萬(wàn))如果你想往這方面發(fā)展的話: 第一:把心踏實(shí)下來(lái),做好打硬仗的準(zhǔn)備。 第二:注意學(xué)習(xí)方法。盡量不要走彎路,爭(zhēng)取一鼓作氣入門。一旦入門了以后呢就好辦了。嵌入式技術(shù)的掌握,本身呢就比較難,要是再走些彎路,時(shí)間上會(huì)浪費(fèi),甚至?xí)绊憣W(xué)習(xí)的信心。 最好的學(xué)習(xí)方法: 做項(xiàng)目,如果有機(jī)會(huì)大家跟著做一個(gè)難度適中的嵌入式項(xiàng)目,相信大家會(huì)很快入門的。也就是說(shuō)從實(shí)戰(zhàn)之中來(lái)獲得進(jìn)步。 技術(shù)道路不是一朝一夕,有人領(lǐng)你進(jìn)門更好,自學(xué)也得有一本時(shí)間的明細(xì)賬本,希望有興趣從事這個(gè)行業(yè)的朋友們,學(xué)有所成!
- x! v) [3 ~8 J+ d; v7 e% r |