經(jīng)過一段時間的嵌入式基礎(chǔ)學(xué)習(xí),你已經(jīng)可以進行嵌入式開發(fā)工作了,但是要進階甚至到達開發(fā)的階段仍然有很多知識要學(xué),涉及的知識非常廣,要想學(xué)好需要花費大量的精力。粵嵌嵌入式開發(fā)學(xué)習(xí)線路的進階到開發(fā)階段主要有以下五點內(nèi)容:
1、Linux編程
系統(tǒng)編程可以直接跟內(nèi)核及核心系統(tǒng)程序庫對話,深入了解Linux內(nèi)核。掌握Linux系統(tǒng)編程主要提升對Linux應(yīng)用開發(fā)的理解和代碼調(diào)試的能力。由于網(wǎng)絡(luò)應(yīng)用開發(fā)越來越廣泛,通過Linux網(wǎng)絡(luò)發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等方面入手,可以全面了解Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā)。
2、數(shù)據(jù)結(jié)構(gòu)與算法
數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應(yīng)用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊列、存儲管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)運用線型表、多鏈表及索引表進行數(shù)據(jù)管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。
3、QT、DSP、FPGA
Linux沒有自己界面,學(xué)習(xí)QT編程可以創(chuàng)建藝術(shù)級的圖形用戶界面所需的所有功能,從而更好的實現(xiàn)人機交互控制。而如今用戶對于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術(shù)來設(shè)計開發(fā)更好的嵌入式視覺系統(tǒng)。
4、操作系統(tǒng)平臺開發(fā)
除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學(xué)習(xí)掌握系統(tǒng)的各個模塊,為底層平臺搭建做好準(zhǔn)備。熟悉各個操作系統(tǒng)的特點以及系統(tǒng)的內(nèi)核移植,確保操作系統(tǒng)能在某個微處理器或微控制器上運行。
5、驅(qū)動開發(fā)
驅(qū)動程序設(shè)計是嵌入式Linux開發(fā)工作中非常重要的一部分。不僅要熟悉Linux的內(nèi)核機制、驅(qū)動程序與用戶級應(yīng)用程序的接口,掌握系統(tǒng)對設(shè)備的并發(fā)操作。還要具備ARM硬件接口的基礎(chǔ)知識,熟悉ARM Cortex處理器各資源、掌握Linux設(shè)備驅(qū)動原理框架,以及工程中常見Linux字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備的驅(qū)動開發(fā)。
真正的學(xué)習(xí)過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。嵌入式開發(fā)學(xué)習(xí)線路只是一個燈塔,為你指明道路,而如果想真正成為的嵌入式大牛,還需要更多的實踐和經(jīng)驗積累,這也是你在嵌入式培訓(xùn)后需要努力的方面。