整個嵌入式體系分為三大部分,用戶空間、內核空間、以及硬件,應該是自上而下的學習。
1、語言先行
自上而下的學習首先是寫代碼,寫用戶的應用程序。每種語言的使用目的是不同的,例如,html/css/javascript做網頁、java做安卓系統、python做爬蟲或人工智能等,我們嵌入式選擇的語言是C語言。所以首先要學習C語言的基本語法,C庫提供了大量的函數,我們可以調用以實現一些功能。所以還要熟悉C庫的常用函數。
C語言一定要學好,它是基礎。Linux內核大部分也是用C語言實現的。
2、系統認知
在學習C語言的過程中,可以適當學會Linux系統的基本使用。你可能沒有聽說過Linux,但你肯定聽說過windows,系統有很多共通之處。可以在學習過程中對比理解。而且Linux系統提供了C語言的編輯器gcc,你可以在系統上寫完代碼之后,在系統上編譯并運行,這樣,在學習C語言的階段你也熟悉了Linux系統的使用。
3、內功心法----數據結構
當你學完了C語言的基本語法,此時你的c語言水平只是入門階段。你還要學習一門沒有新知識的課程----數據結構。這門課程就是大量的使用指針、數組、結構體、函數。經過這個階段你才能算是掌握了C語言。而且后面學習內核的過程中,內核中也是有大量的鏈表之類的數據結構的。
4、進入內核
此時,我們要往下開始系統內核的學習。Linux的內核包括以下幾個部分:進程管理、內存管理、網絡堆棧、虛擬文件系統、設備驅動等。內核是一個系統最重要的部件。想要真正的認識它需要你一步一步的積累。這個階段推薦大家先依次學習文件IO、進程線程、網絡編程。你要學習這些功能實現的相關函數,即上圖中的系統調用接口。我們要用系統提供的函數,寫代碼實現對應的功能。可以先不深究這些功能是如何實現的。先學會應用。
5、設備驅動
驅動是硬件和應用程序之間的橋梁,如果一個應用程序要操作硬件,必須要有驅動。一句話總結:驅動就是根據相應的硬件,寫出驅動程序作為調用接口提供給用戶,用戶使用該接口就可實現控制硬件的目的。其次,在驅動的學習中,我們會慢慢學習內核。內核的各種模塊,內核源碼等等。
6、硬件簡述
對于一個嵌入式工程師來說,能夠看懂電路圖即可。即只需要掌握基本的電路知識,看懂電路圖。至于開發板的畫圖、布線、腐蝕、焊接等步驟,可以不必深入研究。這些技能是屬于硬件工程師們的要求。
首先,一個程序員雙語很重要,你學習了面向過程的C語言,推薦大家掌握一門面向對象的語言,可以是c++、java或者python都可。其次,要單獨實現一個完整的項目,UI界面部分必不可少。做頁面可以用qt、可以用網頁、也可以用手機端。這可以使你自己做的項目更加完善。最后,前面我們說到嵌入式硬件是很多種類的,建議大家也學習一下不需要系統的裸機開發STM32.也是屬于嵌入式的范疇。
本文由培訓無憂網長沙牛耳教育專屬課程顧問老師整理發布,更多相關課程請關注培訓無憂網嵌入式開發培訓或添加老師微信:15033336050
以上文章由長沙牛耳教育課程顧問整理編輯發布,部分文章來自網絡內容真實性請自行核實或聯系我們,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050
免 費 申 請 試 課