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