嵌入式專業(yè)是一門實踐性非常強(qiáng)的學(xué)科,只有多動手,多實踐,多編程,多調(diào)試,多看書,多思考才能真正掌握好嵌入式開發(fā)技術(shù)。那么,如何從零開始學(xué)習(xí)嵌入式開發(fā)技術(shù), 進(jìn)入嵌入式開發(fā)大門呢?對嵌入式學(xué)習(xí)的一些想法和意見,希望對大家有所幫助。 一、練好基本功 嵌入式系統(tǒng)專業(yè)是綜合了計算機(jī)硬件技術(shù),計算機(jī)軟件技術(shù)以及電子電路技術(shù)的一門綜合學(xué)科,所涉及的內(nèi)涵和知識非常廣泛,包括:數(shù)字電路,模擬電路,計算機(jī)組成原理,單片機(jī)基礎(chǔ),C語言基礎(chǔ),操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),編譯原理,計算機(jī)控制,計算機(jī)網(wǎng)絡(luò)等知識。 在真正學(xué)習(xí)嵌入式開發(fā)之前,首先要打好基礎(chǔ)。其中最重要的是C語言基礎(chǔ)、數(shù)字電路、計算機(jī)組成原理三門課程。對于C語言,至少能單獨(dú)編寫調(diào)試一個程序,能夠了解C語言的基本語法規(guī)則,基本語句的使用,理解指針概念并能靈活使用各種指針。 計算機(jī)組成原理要能理解組成一個計算機(jī)系統(tǒng)的幾大部件,計算機(jī)系統(tǒng)的結(jié)構(gòu),理解系統(tǒng)總線,理解處理器和計算機(jī)外部設(shè)備的關(guān)系,處理器和計算機(jī)外設(shè)是如何協(xié)調(diào)工作完成某一項功能的,計算機(jī)軟件和硬件是如何分工協(xié)作完成某一項任務(wù)的,理解軟件是通過寄存器來控制硬件的。 數(shù)字電路,模擬電路要了解其基本原理個概念,能看懂簡單模擬、數(shù)字電路原理圖。理解數(shù)字電路中的寄存器,時序的概念,能看懂芯片手冊和時序圖。對于其他基礎(chǔ)課程,重點(diǎn)要理解其中的一些基本概念,如何使用等等。 對于電子,自動化,通信,計算機(jī)類專業(yè)的學(xué)生,在大二、大三開設(shè)的專業(yè)基礎(chǔ)或?qū)I(yè)課程中基本包含了以上的大部分課程。因為缺乏實踐,可能學(xué)得不是很深入,但是一些基本的概念和基本知識應(yīng)該還是有所了解,針對一些薄弱環(huán)節(jié),自己稍微加強(qiáng)學(xué)習(xí)一下,基本上已經(jīng)具備了學(xué)習(xí)嵌入式開發(fā)的基礎(chǔ)。在嵌入式基本功學(xué)習(xí)階段,最重要的是C語言和單片機(jī)基礎(chǔ),最好是能用C語言開發(fā)一個小的單片機(jī)程序,例如用C語言實現(xiàn)單片機(jī)和PC的串口通信,用C語言控制LED等顯示,用C語言控制數(shù)碼管顯示等小程序。在這個期間需要的學(xué)習(xí)工具就是單片機(jī)51學(xué)習(xí)開發(fā)板。 二、嵌入式Linux應(yīng)用開發(fā) 嵌入式開發(fā)基礎(chǔ)知識學(xué)習(xí)完后,這時候你已經(jīng)有了一定的嵌入式開發(fā)基礎(chǔ)了,可以進(jìn)行基于單片機(jī)的嵌入式系統(tǒng)設(shè)計了。單片機(jī)編程本身也是屬于嵌入式編程,但是在這里我們只是把單片機(jī)開發(fā)當(dāng)作嵌入式系統(tǒng)開發(fā)的基礎(chǔ),不把單片機(jī)開發(fā)作為真正的嵌入式系統(tǒng)開發(fā),在這里我們的嵌入式系統(tǒng)開發(fā)是指在帶有操作系統(tǒng)的嵌入式平臺上的應(yīng)用和驅(qū)動開發(fā),特別指在嵌入式linux平臺上的開發(fā)。 單片機(jī)開發(fā)在很早以前是非常熱門的,現(xiàn)在在一些比較簡單的系統(tǒng)上單片機(jī)也用的非常廣泛,隨著硬件的成本不斷降低,在一些比較復(fù)雜的嵌入式設(shè)備一般都采用嵌入式linux操作系統(tǒng),在嵌入式linux平臺上進(jìn)行開發(fā),這樣可以極大的提高嵌入式開發(fā)效率,提高系統(tǒng)的穩(wěn)定性和可靠性,降低開發(fā)成本。由于linux是一個開源的操作系統(tǒng),你可以通過閱讀linux內(nèi)核來理解內(nèi)核的實現(xiàn)機(jī)制,如果有需要,你甚至可以通過修改內(nèi)核源碼來提高系統(tǒng)的性能;同時,全球參與linux開發(fā)的隊伍非常龐大,網(wǎng)上有大量的嵌入式linux開發(fā)資料和源代碼,很多你需要實現(xiàn)的功能在網(wǎng)上基本都能找到相關(guān)源碼,參考一下別人寫的源碼,這樣可以極大的提高自己的工作效率和技術(shù)能力,近幾年,隨著參與linux開發(fā)的人越來越多,linux系統(tǒng)的穩(wěn)定性、實時性有了很大的提高,linux系統(tǒng)無論在服務(wù)器上還是嵌入式設(shè)備平臺上都應(yīng)用越來越廣泛,現(xiàn)在包括華為、中興、朗訊的各大通信巨頭都開始把自己設(shè)備的底層平臺從vxworks操作系統(tǒng)遷移到linux系統(tǒng),可以說嵌入式linux是嵌入式技術(shù)發(fā)展一個方向,是嵌入式技術(shù)的一面旗幟。基于以上原因,我的建議是學(xué)嵌入式開發(fā),就學(xué)嵌入式linux開發(fā),相對于wince等其他的嵌入式平臺,你可以真正學(xué)到更多的東西,學(xué)到嵌入式技術(shù)的精髓,同時他又符合嵌入式產(chǎn)業(yè)發(fā)展的方向,不容易被日新月異的技術(shù)發(fā)展所淘汰。 嵌入式時代已經(jīng)來了,不要糾結(jié)要不要踏入嵌入式的領(lǐng)域了,以下課程可免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。 想要了解更多關(guān)于嵌入式方面的內(nèi)容聯(lián)系宋工QQ3524659088 Tel/VX17317951908 |