時(shí)間:2018-08-02 00:00:00 來(lái)源:信盈達(dá) 作者:信盈達(dá)
嵌入式開(kāi)發(fā)的門檻相對(duì)較高,對(duì)程序員的要求一般都是對(duì)底層感興趣,學(xué)習(xí)能力、動(dòng)手能力要強(qiáng),對(duì)問(wèn)題能夠從全局和細(xì)節(jié)去把握,有很強(qiáng)的系統(tǒng)分析和設(shè)計(jì)能力。從工程師起步,一般有幾個(gè)發(fā)展方向,一個(gè)是成為技術(shù)方面的核心,領(lǐng)域內(nèi)的專家;另一個(gè)是從項(xiàng)目中鍛煉起來(lái),成為項(xiàng)目主管或是管理型人才;再有就是利用自己的技術(shù)及行業(yè)經(jīng)驗(yàn)去創(chuàng)業(yè)。
嵌入式硬件和嵌入式軟件的發(fā)展方向是不同的。信盈達(dá)嵌入式培訓(xùn)說(shuō)說(shuō)軟件需要學(xué)習(xí)的知識(shí)。
雖然說(shuō)搞嵌入式軟件更多時(shí)候是在實(shí)際的工作中學(xué)習(xí)的,但一些重要的基礎(chǔ)知識(shí)不可或缺。
1. 計(jì)算機(jī)組成/微機(jī)原理
主要是為了了解微型計(jì)算機(jī)的硬件工作原理,明白CPU、總線、I/O、存儲(chǔ)器等一些關(guān)鍵結(jié)構(gòu)是怎么工作的,雖然是很枯燥的知識(shí),但是對(duì)熟悉外圍設(shè)備硬件工作方式,及操作系統(tǒng),軟件架構(gòu)的設(shè)計(jì)及優(yōu)化相當(dāng)關(guān)鍵。
2. 操作系統(tǒng)
嵌入式產(chǎn)品應(yīng)用比較廣泛的是Linux和WinCE。但操作系統(tǒng)的內(nèi)部設(shè)計(jì)原理都是殊途同歸。首先要去學(xué)習(xí)的是操作系統(tǒng)原理,去了解進(jìn)程通信、內(nèi)存管理、文件系統(tǒng)等幾個(gè)重要的部分,因?yàn)檫@些在軟件開(kāi)發(fā)尤其是內(nèi)核驅(qū)動(dòng)開(kāi)發(fā)時(shí)會(huì)用到。接下來(lái)可以去熟悉至少一種主流的操作系統(tǒng),Linux是一個(gè)很好的選擇,去了解它的內(nèi)核架構(gòu),設(shè)備驅(qū)動(dòng)架構(gòu),如何去編譯,裁剪,編寫應(yīng)用程序,以及如何使用在具體的嵌入式產(chǎn)品上。
3. 數(shù)字電路
學(xué)習(xí)這方面的知識(shí)主要是了解一些基本的電路知識(shí),如門電路、邏輯電路、存儲(chǔ)器、寄存器,為了更好的理解嵌入式芯片,存儲(chǔ)器,外圍設(shè)備等硬件的設(shè)計(jì),但往往在軟件開(kāi)發(fā)中未必能用的到。因?yàn)榇蟛糠钟布继峁┝撕芡暾能浖涌凇?/span>
4. 編程語(yǔ)言:C語(yǔ)言和匯編
對(duì)于C語(yǔ)言本身的基礎(chǔ)來(lái)說(shuō),無(wú)非是把結(jié)構(gòu)化,函數(shù),數(shù)組,指針弄熟,但是嵌入式開(kāi)發(fā)對(duì)C語(yǔ)言應(yīng)用的要求會(huì)更高。要對(duì)內(nèi)存分配,文件訪問(wèn),寄存器訪問(wèn),預(yù)處理指令,中斷處理程序等等相當(dāng)熟悉,這些都是在使用中要注意的細(xì)節(jié)問(wèn)題。C語(yǔ)言對(duì)程序的優(yōu)化也很重要,而這些往往是需要從全局去考慮。匯編一般是和處理器的指令集相關(guān)的,可以更好的去理解處理器的工作原理,往往是用在一些需要效率的地方,如系統(tǒng)的初始化。
5. 數(shù)據(jù)結(jié)構(gòu)和算法
數(shù)據(jù)結(jié)構(gòu)在嵌入式開(kāi)發(fā)中也很重要,比如說(shuō)操作系統(tǒng)里的很多實(shí)現(xiàn)都用到了具體的算法。基本的數(shù)據(jù)結(jié)構(gòu)需要掌握,如各種鏈表,樹(shù),圖等等;而算法的學(xué)習(xí)需要數(shù)學(xué)知識(shí)作為鋪墊,用計(jì)算機(jī)語(yǔ)言去實(shí)現(xiàn)。對(duì)于軟件從業(yè)人員來(lái)說(shuō),算法終究是一個(gè)工具,在實(shí)際應(yīng)用時(shí)再深入挖掘也可。
6. 軟件工程/軟件測(cè)試/項(xiàng)目管理基礎(chǔ)
這些是軟件開(kāi)發(fā)人員的必備知識(shí)。
7. 開(kāi)發(fā)平臺(tái)
嵌入式的開(kāi)發(fā)平臺(tái)不局限于一種操作系統(tǒng),因此要熟悉各種操作系統(tǒng)下的命令、編輯器及開(kāi)發(fā)工具,這一點(diǎn)往往被很多人忽視。舉個(gè)例子,Linux下的程序員開(kāi)發(fā)環(huán)境往往是按自己的習(xí)慣搭建,熟練掌握一種編輯器如Vim/Emacs可以大幅度提高工作效率。磨刀不誤砍柴工。
嵌入式領(lǐng)域的方向是很多的,它所應(yīng)用到的行業(yè)范圍也很廣。因此除了這些基礎(chǔ)的知識(shí)以外,在具體的應(yīng)用中可能還需要一些其它的知識(shí),這些知識(shí)的每一種都可以研究的很深,舉幾個(gè)例子。
1. 內(nèi)核,驅(qū)動(dòng)及中間件
內(nèi)核開(kāi)發(fā)和驅(qū)動(dòng)本身就是一個(gè)方向,驅(qū)動(dòng)和硬件接口相關(guān),而內(nèi)核的修改和移植更是需要對(duì)OS有很深的理解。至于中間件,一般是基于OS或存在于OS和應(yīng)用程序之間的庫(kù),最典型的就是基于Linux的Android。
2. 通信協(xié)議
通信協(xié)議有很多種,經(jīng)常用到的有網(wǎng)絡(luò)通信協(xié)議,無(wú)線通信協(xié)議,串口/USB通信協(xié)議等等。
3. 音視頻技術(shù)
牽涉到音頻視頻處理,壓縮,編解碼等等。
4. 信息安全
如加密技術(shù),身份認(rèn)證,數(shù)字證書等等。
5. 行業(yè)知識(shí)
和具體行業(yè)或領(lǐng)域相關(guān)的知識(shí),如通訊、工控、電子等等。
總之,這些知識(shí)的學(xué)習(xí)不是一蹴而就的,過(guò)程會(huì)很漫長(zhǎng),也沒(méi)有什么特別的技巧。需要去看大量的技術(shù)文檔和源碼,而這些文檔大部分又都是英文的。在工作和做具體項(xiàng)目的過(guò)程中會(huì)學(xué)習(xí)的比較快,理論結(jié)合實(shí)踐才是王道。

信盈達(dá)2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來(lái)專注為企業(yè)和個(gè)人提供高端方案設(shè)計(jì)、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達(dá)實(shí)訓(xùn)學(xué)院、信盈達(dá)研發(fā)中心、信盈達(dá)教學(xué)儀器三大業(yè)務(wù)板塊。九年來(lái)公司堅(jiān)持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實(shí)力和專業(yè)的品質(zhì)成為國(guó)內(nèi)唯一有實(shí)力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開(kāi)發(fā)的嵌入式實(shí)訓(xùn)、產(chǎn)品解決方案提供商。為中國(guó)IT行業(yè)提供最具價(jià)值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)i嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機(jī)等課程,想了解更多信息點(diǎn)擊立馬咨詢
免費(fèi)領(lǐng)取試聽(tīng)卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽(tīng)課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!