據(jù)悉,嵌入式開(kāi)發(fā)大抵分四個(gè)方向,硬件、驅(qū)動(dòng)、內(nèi)核、應(yīng)用,本文主要提到的是嵌入式軟件開(kāi)發(fā)方向,那么軟件方面要學(xué)些什么東西,它的方向有哪些,接下來(lái)粵嵌簡(jiǎn)單分享了嵌入式學(xué)習(xí)路線,供大家參考。
從事嵌入式軟件開(kāi)發(fā),大家可以看到大部分的人都集中于嵌入式Linux+ARM方向,大概分3個(gè)階段:
1、嵌入式linux上層應(yīng)用,包括QT的GUI開(kāi)發(fā)
2、嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)
3、嵌入式linux系統(tǒng)開(kāi)發(fā)培訓(xùn)
嵌入式目前主要面向的幾個(gè)操作系統(tǒng)是,LINUX,WINCE、VxWorks等等Linux是開(kāi)源免費(fèi)的,而且其源代碼是開(kāi)放的,更加適合我們學(xué)習(xí)嵌入式。
自學(xué)的話你可以嘗試以下嵌入式學(xué)習(xí)路線:
(1)C語(yǔ)言是基本。C語(yǔ)言很強(qiáng)這是毋庸置疑的,像常見(jiàn)的單片機(jī)、DSP、類似ARM的種種芯片的編程都可以用C語(yǔ)言搞定。
?。?)操作系統(tǒng)原理,是必需的,計(jì)算機(jī)專業(yè)的學(xué)生可能問(wèn)題不大,如果是非計(jì)算機(jī)專業(yè)的就先把一些淺顯的計(jì)算機(jī)知識(shí)搞懂,例如將“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等概念了解清楚。
?。?)Linux操作系統(tǒng)就是用C語(yǔ)言編寫的,因此,先去搞懂嵌入式Linux方面的內(nèi)容,才能進(jìn)一步去了解Linux內(nèi)核的精髓。
(4)了解ARM的架構(gòu),原理,以及其匯編指令,我們?cè)谇度胧介_(kāi)發(fā)中,盡管我們一般很少去寫匯編,但是能夠看懂a(chǎn)rm匯編是開(kāi)發(fā)人員基本的要求了。
(5)系統(tǒng)移植的時(shí)候,就需要你從下層的bootloader開(kāi)始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分非常依賴于硬件,其配置步驟也會(huì)相對(duì)復(fù)雜。
?。?)驅(qū)動(dòng)開(kāi)發(fā)linux驅(qū)動(dòng)程序設(shè)計(jì),這部分的內(nèi)容對(duì)于linux內(nèi)核和內(nèi)核編程存在前置要求,我們得先去了解linux內(nèi)核的組成內(nèi)容。
以上只不過(guò)是大概的框架,在嵌入式實(shí)際開(kāi)發(fā)中往往會(huì)遇到更多的問(wèn)題,當(dāng)然也需要掌握更多的技能,像什么交叉編譯、makefile、shell腳本等了解多一點(diǎn)是很有必要的,所以說(shuō)學(xué)習(xí)嵌入式的周期較長(zhǎng),門檻較高,自學(xué)的話更是需要較強(qiáng)的學(xué)習(xí)能力和專業(yè)功底。循序漸進(jìn),一步步扎實(shí)做好,只要能堅(jiān)持下來(lái)才會(huì)取得成功!
另外,自學(xué)和嵌入式培訓(xùn)并沒(méi)有完全的優(yōu)劣之分,對(duì)于覺(jué)得自學(xué)太難的朋友,嘗試多一條嵌入式學(xué)習(xí)路線也無(wú)妨,粵嵌教育或?qū)Ыo你驚喜。