1. gzyueqian
      13352868059

      嵌入式培訓學校分享:嵌入式學習路線推薦

      更新時間: 2018-11-27 15:19:39來源: 武漢嵌入式培訓瀏覽量:5904

          知識要求:

          看懂電路圖
          看懂芯片手冊
          有編寫,移植驅動的能力
          懂內核的實現機制
          懂C語言,C++, JAVA等

          嵌入式 linux 學習路線


          嵌入式 linux 系統里含有bootloader、內核、驅動程序、根文件系統、應用程序(C/C++、Android)這5大塊。總結嵌入式Linux+Android系統包含以下部分內容:

          ARM
          Bootloader
          Linux內核
          驅動程序
          根文件系統
          Android Framework
          使用C/C++編寫的應用程序
          Android APP

          1. ARM
          學習硬件知識的目的在于能看懂原理圖,看懂通信協議,看懂芯片手冊。這里推薦一些書:
          《微機原理》,可以理解一個計算機的組成原理
          《數字電路》,掌握一些邏輯運算,理解各種門電路的原理
          《ARM體系結構與編程》,對ARM的運行原理解釋的很到位
          我相信看完這些書對ARM和硬件知識的掌握足夠了,對于初學者只想淺嘗輒止的了解,我推薦之前的一個chat《一小時教你學會 ARM 架構》。
          2. Bootloader
          bootloader有很多種,vivi、u-boot等等,常用的是u-boot。 u-boot功能強大、源碼比較多,對于編程經驗不豐富、閱讀代碼經驗不豐富的人,一開始可能會覺得難以掌握。但是,u-boot的主要功能就是:啟動內核。它涉及:讀取內核到內存、設置啟動參數、啟動內核。按照這個主線,我們嘗試自己從零編寫一個bootloader,這個程序相對簡單,可以讓我們快速理解u-boot主要功能的實現。相關內容有:

          u-boot分析之編譯體驗
          u-boot分析之Makefile結構分析
          u-boot分析之源碼第1階段
          u-boot分析之源碼第2階段
          u-boot分析之u-boot命令實現
          u-boot分析_uboot啟動內核
          3. Linux內核

          內核在工作中的作用可以說是潛移默化的,雖然看起來沒有直接性的工作項目,但是走向架構師的必經之路。

          Linux總線,設備,驅動模型的探究
          Linux設備樹的深入理解
          Linux的啟動流程
          Linux設備和驅動的相遇
          動手定制一個開發板

          推薦《linux內核設計與實現》。
          4. 驅動程序
          驅動程序=Linux驅動程序軟件框架+ARM開發板硬件操作
          有了ARM的知識和閱讀數據手冊電路圖的能力,再加上Linux內核的運行原理,基本上寫驅動就是API調用的體力活了。這里推薦宋寶華老師的《linux設備驅動開發詳解》。后續關于驅動的內容暫定如下:

          LCD驅動程序
          觸摸屏驅動程序
          USB驅動程序
          NAND FLASH驅動程序
          NOR FLASH驅動程序
          網卡驅動程序
          聲卡驅動程序

          5. 根文件系統
          在開發應用程序時,也需要搭建文件系統,把各種庫、配置文件放進去; 在發布產品時,你還需要修改配置文件,使得產品可以自動運行程序; 甚至你想實現插上U盤后自動啟動某個程序,這也要要修改配置文件; 這一切,都需要你理解根文件系統的構成,理解內核啟動后是根據什么配置文件來啟動哪些應用程序。根文件系統相對比較簡單,可以根據以下路線學習:

          Linux根文件系統目錄結構
          移植Busybox
          init進程介紹及用戶程序啟動過程
          使用glibc庫
          制作/使用文件系統映象文件

          嵌入式應用開發
          C語言編程基礎
          嵌入式開發基礎(Linux、Shell命令、VI編輯器、GCC、Makefile、交叉開發環境構建)
          嵌入式Linux系統編程(shell編程、文件編程、串口編程、進程編程、線程編程、網絡編程)
          嵌入式底層系統開發
          ARM體系結構(Arm體系|指令、Thumb指令、匯編程序設計、裸機程序開發)
          Linux內核移植(bootloader、內核配置、文件系統)
          驅動程序開發(驅動模型架構、字符設備驅動、塊設備驅動、網絡驅動)
          嵌入式圖形應用開發
          C++語言編程基礎
          QT編程開發(Qt開發基礎|布局與控件|繪圖|事件|網絡通訊|數據庫|移植)

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产欧美精品一区二区 | 亚洲国产精品高清线久久AV | 亚洲欧美久久精品一区 | 思思久久96热视频 | 伊伊综合网在线视频免费 | 日韩精品福利视频第一区 |