許多想要學(xué)習(xí)嵌入式的小白都會(huì)問(wèn),學(xué)了能干嘛?而正在學(xué)習(xí)的朋友或許還會(huì)問(wèn)應(yīng)該學(xué)習(xí)哪方面?其實(shí)感到迷茫,不知從何下手是非常正常的,針對(duì)這些情況,我們不妨看看到底學(xué)習(xí)嵌入式能干嘛,不同的方向需要學(xué)習(xí)什么。
嵌入式硬件開(kāi)發(fā)
硬件開(kāi)發(fā)最基礎(chǔ)的肯定就是電路、常用元器件、各種硬件等知識(shí)。同時(shí)設(shè)計(jì)和開(kāi)發(fā)缺一不可,不但要熟悉熟悉ARM32位處理器嵌入式硬件平臺(tái)開(kāi)發(fā)、還要具備產(chǎn)品開(kāi)發(fā)經(jīng)驗(yàn)。
一般來(lái)說(shuō),你需要熟悉掌握Protel/PADS(PowerPCB)/Cadence/OrCad等硬件設(shè)計(jì)工具的運(yùn)用,而高速PCB設(shè)計(jì)經(jīng)驗(yàn)至少要4-8層左右。
嵌入式驅(qū)動(dòng)開(kāi)發(fā)
同樣的需要熟悉嵌入式ARM開(kāi)發(fā),Linux操作系統(tǒng)也是基礎(chǔ)中的基礎(chǔ)了,而系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí)不用說(shuō)也是要學(xué)習(xí)掌握的。
想要從事嵌入式驅(qū)動(dòng)開(kāi)發(fā)還要有單片機(jī)開(kāi)發(fā)能力,硬件原理圖也要能理解,這就要求你要有扎實(shí)的硬件知識(shí),而后就是需要你能獨(dú)立完成調(diào)試,寫(xiě)程序了。
嵌入式系統(tǒng)開(kāi)發(fā)
從事系統(tǒng)開(kāi)發(fā)必須要熟悉嵌入式Linux啟動(dòng)流程,熟悉Linux配置文件的修改。
相對(duì)其他方向,內(nèi)核裁剪,移植,調(diào)試、啟動(dòng)程序Bootloader編寫(xiě)、根文件系統(tǒng)制作和集成部署Linux系統(tǒng)等整個(gè)流程等都要熟悉掌握,且能運(yùn)用。
嵌入式軟件開(kāi)發(fā)
C語(yǔ)言一直是嵌入式的根基,如要從事嵌入式軟件開(kāi)發(fā),那就要精通C語(yǔ)言而不是入門(mén)那么簡(jiǎn)單。
而Linux下的基本命令、管理配置和編輯器,包括VI編輯器,GCC編譯器,GDB調(diào)試器和Make項(xiàng)目管理工具等知也是重點(diǎn)學(xué)習(xí)對(duì)象。
精通嵌入式Linux下的程序設(shè)計(jì),精通嵌入式Linux開(kāi)發(fā)環(huán)境,包括系統(tǒng)編程、文件I/O、多進(jìn)程和多線程、網(wǎng)絡(luò)編程、GUI圖形界面編程、數(shù)據(jù)庫(kù);熟悉常用的圖形庫(kù)的編程,如QT、GTK、miniGUI、fltk、nano-x等。
其實(shí),說(shuō)了這么多大家可以看到雖然方向不同,但學(xué)習(xí)內(nèi)容還是有重合的地方,比如C語(yǔ)言和Linux。
如果想要準(zhǔn)確選擇自己后續(xù)的發(fā)展方向,不妨根據(jù)自己的興趣以及學(xué)習(xí)方向還有發(fā)展環(huán)境等來(lái)進(jìn)行選擇。不管哪個(gè)方向,嵌入式都是未來(lái)發(fā)展的趨勢(shì),尤其是在5G技術(shù)發(fā)展的現(xiàn)在。