這一階段重點打好嵌入式軟件編程的基礎,包括學習Linux系統(tǒng)的基本應用,Linux的常用命令、C語言編程基礎、常用的數據結構。特別是C語言中對指針的理解和應用。這一階段的主要目的是學習編程語言、開發(fā)環(huán)境、和培養(yǎng)自己的編程思維,為進一步學習嵌入式開發(fā)打下良好的基礎。
這一階段才是真正的嵌入式編程,首先我們要選擇一款嵌入式CPU和一款嵌入式開發(fā)平臺,目前ARM 嵌入式CPU應用最廣泛,這一階段重點是學習嵌入式CPU的裸機編程,熟悉中斷、定時器、串口、NAND FLASH、網絡控制器、LCD屏、觸摸屏等常用嵌入式外圍設備的硬件工作原理,以及如何使用C語言來編程、控制這些硬件。
除了要學習對硬件編程之外,還需要學習嵌入式硬件的知識,但是對于嵌入式軟件工程師來講,重點是學習硬件的工作原理,在掌握硬件工作原理的基礎上,對硬件進行編程控制。這和硬件工程師學習的側重點有所不同。這一階段對應的學校的課程主要包括模擬電路、數字電路、微機原理和單片機。這一階段重點是要看CPU的芯片手冊,大部分的參考書也是對芯片手冊的翻譯。
這一階段主要學習帶有操作系統(tǒng)的嵌入式系統(tǒng)的構建,包括系統(tǒng)的啟動流程、Bootloader的工作流程、UBOOT的編譯、裁剪與移植、嵌入式Linux內核的裁剪、移植與編譯,嵌入式根文件系統(tǒng)的定制、BootLoader、內核和根文件系統(tǒng)的燒寫。
這一階段的主要目的是掌握帶有操作系統(tǒng)的嵌入式系統(tǒng)的構建和燒寫過程,以及對嵌入式系統(tǒng)軟件的總體構成有個整體認識,為我們接下來學習嵌入式應用和驅動開發(fā)打下堅實的基礎。
這一階段主要學習上層的嵌入式Linux應用程序開發(fā),包括基于Linux多進程、多線程、網絡、文件與目錄和QT編程。掌握嵌入式Linux環(huán)境下應用程序開發(fā)技術。
這一階段主要學習底層嵌入式Linux設備驅動程序開發(fā)設計,包括常用的字符設備驅動、塊設備驅動、LCD設備驅動、觸摸屏設備驅動以及驅動程序開發(fā)中的核心技術。
嵌入式技術關鍵在于理論和實踐的結合,要能夠學以致用,完成了以上的所有階段的知識點學習后,到底有沒有學會?會不會用?能不能應用所學知識來解決實際開發(fā)中的問題?這些問題都需要通過完成綜合的嵌入式項目來體現(xiàn),如華清遠見實訓項目:智能小車、AI機器人系統(tǒng)、智能家居等。
以上就是嵌入式軟件工程師學習路線,更多系統(tǒng)的學習內容可以來華清遠見免費試聽。
華清遠見——一家真正擁有研發(fā)中心的實力機構
擁有10余個自主研發(fā)項目來供學員實戰(zhàn)
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!