嵌入式系統的知識體系、學(xué)習誤區及學(xué)習建議
3 基礎階段的學(xué)習建議
基于以上討論,下面對廣大渴望學(xué)習嵌入式系統的學(xué)子提出幾點(diǎn)基礎階段的學(xué)習建議:
①嵌入式系統軟件硬件密切相關(guān),一定要打好軟硬件基礎。其實(shí),只要找到正確的方法,加上努力,任何理工科學(xué)生,甚至非理工科學(xué)生,都能學(xué)好嵌入式系統。
②選擇一個(gè)芯片及硬件評估板(入門(mén)芯片最好簡(jiǎn)單一點(diǎn),例如8位MCU)、選擇一本好書(shū)(最好有規范的例子)、找一位好老師(最好是有經(jīng)驗且熱心的)。硬件評估板的價(jià)格一定要在1000元以下,不要太貴,最好能有自己動(dòng)手的空間。不花一分硬件錢(qián)想要學(xué)好嵌入式系統不實(shí)際,因為這是實(shí)踐性很強的學(xué)科。好書(shū),可以讓人少走彎路,不被誤導。好老師也可以是做過(guò)一些實(shí)際項目的學(xué)長(cháng)(一定要找做過(guò)幾個(gè)成功項目的學(xué)長(cháng)或老師做指導,否則經(jīng)驗不足也可能誤導),有教師指導,學(xué)習進(jìn)程會(huì )加快(人工智能學(xué)科里有個(gè)術(shù)語(yǔ)叫無(wú)教師指導學(xué)習模式與有教師指導學(xué)習模式,無(wú)教師指導學(xué)習模式比有教師指導學(xué)習模式復雜許多。
③許多人怕硬件,其實(shí)嵌入式系統硬件比電子線(xiàn)路好學(xué)多了。只要深入理解:MCU的硬件最小系統,對I/O口、串行通信、鍵盤(pán)、LED、LCD、SPI、 I2C、PWM、A/D(包括一些傳感器)、D/A等逐個(gè)實(shí)驗理解,逐步實(shí)踐,再通過(guò)動(dòng)手做一個(gè)實(shí)際的小系統,底層硬件基礎就有了。各個(gè)硬件模塊驅動(dòng)程序的編寫(xiě)是嵌入式系統的必備基礎。學(xué)習嵌入式系統的初期,這個(gè)過(guò)程是必須的。
④至于嵌入式實(shí)時(shí)操作系統RTOS,一定不要一開(kāi)始就學(xué),這樣會(huì )走很多彎路,也會(huì )使你對嵌入式系統感到畏懼。等你軟件硬件基礎打好了,再學(xué)習就感到容易理解。實(shí)際上,許多嵌入式應用并不需要操作系統。也可以根據實(shí)際項目需要,再學(xué)習特定的RTOS。不要被一些嵌入式實(shí)時(shí)操作系統培訓班的宣傳所誤導,而忽視實(shí)際嵌入式系統軟硬件基礎知識的學(xué)習。
⑤要避免片面地單純從“電子”或“計算機軟件”角度認識嵌入式系統。前面說(shuō)過(guò),嵌入式系統是軟件與硬件的綜合體。因此,要逐步從MCU的最小系統開(kāi)始,一點(diǎn)一點(diǎn)理解硬件原理及底層硬件驅動(dòng)編程方法。要通過(guò)規范的例子,理解軟件工程封裝、可復用等思想。通過(guò)規范編程,積累底層構件(component),也就是一個(gè)一個(gè)模塊;但是要封裝得比較好,可復用。
⑥注重實(shí)驗與實(shí)踐。這里說(shuō)的實(shí)驗主要指通過(guò)重復來(lái)驗證他人的工作,目的是學(xué)習基礎知識,這個(gè)過(guò)程一定要經(jīng)歷。實(shí)踐是自己設計,有具體的“產(chǎn)品”目標。如果花500元左右,自己做一個(gè)具有一定功能的小產(chǎn)品,且能穩定運行1年以上,就可以說(shuō)接近入門(mén)了。
⑦關(guān)于入門(mén)芯片的選擇。不要選太復雜的微控制器作為入門(mén)芯片,不能超越學(xué)習過(guò)程。不要一下子學(xué)習幾種芯片??梢酝ㄟ^(guò)一個(gè)芯片入門(mén),并具有一個(gè)實(shí)踐經(jīng)驗后,根據實(shí)際需要選擇芯片開(kāi)發(fā)實(shí)際產(chǎn)品。注意,不要把微處理器(MPU與微控制器(MCU)概念相混淆,微處理器只是微控制器的內核。
⑧關(guān)于嵌入式操作系統的選擇??梢缘鹊骄哂幸欢▽?shí)踐基礎后,選擇一個(gè)簡(jiǎn)單、容易理解原理的嵌入式操作系統進(jìn)行學(xué)習。不要一開(kāi)始就學(xué)習幾種操作系統,理解了基本原理,實(shí)踐中確有實(shí)際需要再學(xué)習也不遲。人總是要不斷學(xué)習的。
⑨關(guān)于匯編語(yǔ)言與C語(yǔ)言的取舍。隨著(zhù):MCU對C編譯的優(yōu)化支持,對于匯編語(yǔ)言可以只了解幾個(gè)必要的語(yǔ)句,而直接使用C語(yǔ)言編程。但必須通過(guò)第一個(gè)程序理解芯片初始化過(guò)程、中斷機制、程序存儲情況等,區別于PC機程序的內容。另外,為了測試的需要,最好掌握一門(mén)PC機編程語(yǔ)言。
⑩要明確自己的學(xué)習目的,并注意學(xué)習方法。要明確學(xué)習目的是打基礎,還是為了適應工作需要而進(jìn)行的短訓。學(xué)習方法方面,要根據學(xué)習目的選擇合適的學(xué)習途徑,注意理論學(xué)習與實(shí)踐、通用知識與芯片相關(guān)知識、硬件知識與軟件知識的平衡,要在理解軟件工程基本原理基礎上理解硬件構件與軟件構件等基本概念。
以上建議,僅供初學(xué)者參考。當然,以上只是基礎階段的學(xué)習建議。要成為良好的嵌入式系統設計師,還需要在實(shí)際項目中鍛煉,并不斷學(xué)習與積累經(jīng)驗。
評論