1、打好嵌入式軟體程式設計的基礎
這階段重點打好嵌入式軟體程式設計的基礎,包括學習Linux系統的基本應用,Linux的常用指令、C語言程式設計基礎、常用的資料結構。
特別是C語言中對指標的理解與應用。這一階段的主要目的是學習程式語言、開發環境、和培養自己的程式設計思維,為進一步學習嵌入式開發打下良好的基礎。
這一階段推薦的嵌入式學習書籍如下:《C程式設計語言》,《C語言核心技術》,《資料結構與演算法分析-C語言描述》,《C與指標》, 《C陷阱與缺陷》,《C++ Primer》 ,身為嵌入式軟體工程師還要有一定的數位電路與類比電路基礎
2、學習ARM體系結構程式設計
#這一階段才是真正的嵌入式編程,首先我們要選擇一款嵌入式CPU和一款嵌入式開發平台,目前ARM 嵌入式CPU應用最廣泛,這一階段重點是學習嵌入式CPU的裸機編程,熟悉中斷、定時器、串口、NAND FLASH、網路控制器、LCD螢幕、觸控螢幕等常用嵌入式週邊設備的硬體工作原理,以及如何使用C語言來編程、控制這些硬體。
這一階段除了要學習對硬體程式設計之外,還需要學習嵌入式硬體的知識,但是對於嵌入式軟體工程師來講,重點是學習硬體的工作原理,在掌握硬體工作原理的基礎上,對硬體進行程式控制。這和硬體工程師學習的重點有所不同。這一階段對應的學校的課程主要包括類比電路、數位電路、微電腦原理和單晶片。這階段重點是要看CPU的晶片手冊,大部分的參考書也是對晶片手冊的翻譯。推薦的參考書籍如下:《ARM嵌入式系統開發-軟體設計與最佳化》,《ARM處理器開發詳解基於ARM Cortex-A8處理器的開發設計》
3、學習嵌入式系統的建構
此階段主要學習有作業系統的嵌入式系統的構建,包括系統的啟動流程、Bootloader的工作流程、UBOOT的編譯、裁切與移植、嵌入式Linux核心的裁剪、移植與編譯,嵌入式根檔案系統的客製化、BootLoader、核心與根檔案系統的燒寫。
這一階段的主要目的是掌握帶有操作系統的嵌入式系統的構建和燒寫過程,以及對嵌入式系統軟體的總體構成有個整體認識,為我們接下來學習嵌入式應用和驅動開發打下堅實的基礎。此階段推薦的書籍如下:《建構嵌入式Linux核心軟體系統實戰》
4、學習嵌入式Linux應用程式開發
這一階段主要學習上層的嵌入式Linux應用程式開發,包括基於Linux多進程、多執行緒、網路、檔案與目錄和QT程式設計。掌握嵌入式Linux環境下應用程式開發技術。此階段推薦的書籍有: 《UNIX環境進階程式設計》,《Unix網路程式設計》,《Qt Creator快速入門》, 《精通Qt4程式設計》
推薦影片教學:linux影片教學
5、學習嵌入式Linux驅動程式開發
此階段主要學習底層嵌入式Linux裝置驅動程式開發設計,包括常用的字元裝置驅動、區塊設備驅動、LCD設備驅動、觸控螢幕設備驅動以及驅動程式開發中的核心技術。此階段推薦的參考書籍有:《Linux裝置驅動程式》,《Linux裝置驅動開發詳解》
6、完成一個綜合專案
嵌入式技術關鍵在於理論和實踐的結合,要能夠學以致用,完成了以上的所有階段的知識點學習後,到底有沒有學會,會不會用,能不能應用所學知識來解決實際開發中的問題,我們需要來完成一個綜合的嵌入式實訓項目,例如: 基於嵌入式Linux平台實現的飛行器、 基於嵌入式Linux平台實現的智慧機器人等,這些項目都綜合應用了嵌入式開發當中的應用,驅動和QT開發技術。
以上是嵌入式學習路線的詳細內容。更多資訊請關注PHP中文網其他相關文章!