|
嵌入式開發(fā)的門檻相對較高,對程序員的要求一般都是對底層感興趣,學(xué)習(xí)能力、動手能力要強,有很強的系統(tǒng)分析和設(shè)計能力。那么要嵌入式入門學(xué)習(xí)要從哪里開始?先來看看嵌入式的發(fā)展方向以及所需要學(xué)習(xí)的知識吧。
從工程師起步,一般有幾個發(fā)展方向,一個是成為技術(shù)方面的核心,領(lǐng)域內(nèi)的專家;另一個是從項目中鍛煉起來,成為項目主管或是管理型人才;再有就是利用自己的技術(shù)及行業(yè)經(jīng)驗去創(chuàng)業(yè)。
另外,雖說搞嵌入式軟件更多時候是在實際的工作中學(xué)習(xí)的,但一些重要的基礎(chǔ)知識不可或缺。
1. 計算機組成/微機原理
主要是為了了解微型計算機的硬件工作原理,明白CPU、總線、I/O、存儲器等一些關(guān)鍵結(jié)構(gòu)是怎么工作的,雖然是很枯燥的知識,但是對熟悉外圍設(shè)備硬件工作方式,及操作系統(tǒng),軟件架構(gòu)的設(shè)計及優(yōu)化相當(dāng)關(guān)鍵。
2. 操作系統(tǒng)
嵌入式產(chǎn)品應(yīng)用比較廣泛的是Linux和WinCE。但操作系統(tǒng)的內(nèi)部設(shè)計原理都是殊途同歸。首先要去學(xué)習(xí)的是操作系統(tǒng)原理,去了解進程通信、內(nèi)存管理、文件系統(tǒng)等幾個重要的部分,因為這些在軟件開發(fā)尤其是內(nèi)核驅(qū)動開發(fā)時會用到。接下來可以去熟悉至少一種主流的操作系統(tǒng),Linux是一個很好的選擇,去了解它的內(nèi)核架構(gòu),設(shè)備驅(qū)動架構(gòu),如何去編譯,裁剪,編寫應(yīng)用程序,以及如何使用在具體的嵌入式產(chǎn)品上。
3. 數(shù)字電路
學(xué)習(xí)這方面的知識主要是了解一些基本的電路知識,如門電路、邏輯電路、存儲器、寄存器,為了更好的理解嵌入式芯片,存儲器,外圍設(shè)備等硬件的設(shè)計,但往往在軟件開發(fā)中未必能用的到。因為大部分硬件都提供了很完整的軟件接口。
4. 編程語言:C語言和匯編
對于C語言本身的基礎(chǔ)來說,無非是把結(jié)構(gòu)化,函數(shù),數(shù)組,指針弄熟,但是嵌入式開發(fā)對C語言應(yīng)用的要求會更高。要對內(nèi)存分配,文件訪問,寄存器訪問,預(yù)處理指令,中斷處理程序等等相當(dāng)熟悉,這些都是在使用中要注意的細節(jié)問題。C語言對程序的優(yōu)化也很重要,而這些往往是需要從全局去考慮。匯編一般是和處理器的指令集相關(guān)的,可以更好的去理解處理器的工作原理,往往是用在一些需要效率的地方,如系統(tǒng)的初始化。
5. 數(shù)據(jù)結(jié)構(gòu)和算法
數(shù)據(jù)結(jié)構(gòu)在嵌入式開發(fā)中也很重要,比如說操作系統(tǒng)里的很多實現(xiàn)都用到了具體的算法;镜臄(shù)據(jù)結(jié)構(gòu)需要掌握,如各種鏈表,樹,圖等等;而算法的學(xué)習(xí)需要數(shù)學(xué)知識作為鋪墊,用計算機語言去實現(xiàn)。對于軟件從業(yè)人員來說,算法終究是一個工具,在實際應(yīng)用時再深入挖掘也可。
看了這些,就不難解釋為何嵌入式的門檻那么高了,如果沒有經(jīng)過系統(tǒng)的學(xué)習(xí)在這一行是很難存活。嵌入式入門學(xué)習(xí)該如何進行,嵌入式培訓(xùn)是一條便捷之路。如果你不知道如何挑選培訓(xùn)機構(gòu),還是來粵嵌教育看看,在這里你將得到最專業(yè)的培訓(xùn),掌握嵌入式的知識,并能夠獲取項目開發(fā)的經(jīng)驗,走出一條正確且光明的道路。Tel/WX:133--52--86--80--59
|
|