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