1. 程式人生 > >嵌入式開發“高手”進階之路

嵌入式開發“高手”進階之路

  第一部分:LINUX平臺搭建與環境熟悉

  瞭解Linux系統,區分各種版本的Linux系統,以便於拓展 Linux視野。

  1、Linux 簡介

  2、Linux 系統的主要特點

  3、Linux 的組成

  4、主要的 Linux 版本

  5、嵌入式 Linux簡介與發展

  第二部分:虛擬機器安裝和LINUX系統安裝

  1、虛擬機器安裝

  2、Linux系統的安裝

  3、Linux系統的常用軟體的安裝

  4、Linux快速入門

  5、熟悉運用 Linux環境下,常用命令的操作與系統設定,如常用的 Shell;掌握基本的 Shell 應用

  第三部分:嵌入式LINUX環境搭建

  1、 建立嵌入式 Linux開發環境

  2、 熟悉嵌入式開發平臺

  3、 嵌入式 Linux開發工具

  4、 Linux下的除錯技巧

  5、 MAKE工程管理器

  6、 硬體環境的搭建;arm-linux-gcc與gcc安裝配置

  第四部分: U-Boot

  瞭解 U-Boot 的作用及工作流程;瞭解Bootloader 的程式碼結構、編譯過程;移植U-Boot;掌握常用的U-Boot命令。

  1、 Bootloader介紹

  2、 u-boot工程介紹

  3、 u-boot的編譯使用

  4、 u-boot原始碼分析

  5、 u-boot資源分配

  6、 配置編譯u-boot

  7、 u-boot移植過程

  8、 u-boot常用命令操作

  9、 新增u-boot新命令

  10、設定u-boot環境變數

  11、 u-boot驅動新增如網絡卡:DM9000

  第五部分:LINUX核心移植

  熟悉核心的原碼結構和kbuild Makefile語法;掌握和核心、驅動模組編譯相關的原理及方法。

  1、Linux核心介紹

  2、Linux核心特點

        3、Linux核心原始碼結構

  4、Linux核心選項解析

  5、Linux核心編譯連結

  6、核心模組編譯、使用方法

  第六部分:LINUX根檔案系統

  1、busybox 包移植、編譯

  2、Linux跟檔案系統製作過程

  3、根檔案系統介紹

  4. nfs檔案伺服器系統搭建

  第七部分:LINUX驅動開發

  驅動開發是嵌入式Linux開發難度最高的內容,也是目前嵌入式行業最緊缺的人才之一。嵌入式Linux驅動開發相關概念及開發流程,瞭解驅動開發的關鍵技術點,重點嵌入式Linux下常用介面驅動的編寫方法,包括

  1、字元型LED驅動開發(GPIO口驅動)

  2、按鍵驅動開發(中斷驅動,在驅動中中斷程式的編寫,訊息佇列的應用)

  3、ADC驅動開發

  4、網絡卡驅動開發

  5、串列埠驅動開發

  6、液晶屏(TFT彩屏驅動開發)

  7、觸控式螢幕驅動+tslib(中間外掛移植與設定)

  8、USB驅動開發+USB無線網絡卡移植

  9、IIS驅動開發+maplay移植與應用(mp3播放)+mplayer移植與應用(視訊播放Mp4/廣告機等播放)

  10、SD驅動開發

  11、RTC驅動開發

  12、電源管理方法

  第八部分:LINUX應用學習

  嵌入式Linux應用開發和系統開發是嵌入式Linux中最重要的一部分,也是企業人才需求最廣的一部分。主要目標是精通嵌入式Linux下的程式設計,熟練掌握嵌入式Linux的開發環境、系統程式設計以及網路程式設計,熟悉C++、QT程式設計並且深刻體會整個嵌入式Linux專案開發流程,強化對Linux應用開發的能力。

  1、Linux系統中的程序的概念,在應用程式中執行緒與父子程序的建立與應用

  2、執行緒之間、程序之間的通訊

  3、程序間通訊基本概念

  4、管道(PIPE)

  5、訊號(SIGNAL)

  6、記憶體對映(MAPPED MEMORY)

  7、訊息佇列(MESSAGE QUEUE)

  8、訊號量(SEMAPHORE)

  9、共享記憶體(SHARE MEMORY)

  10、tcPip協議在應用程式中的程式設計開發(SOCKET套接字程式設計開發)

  10.1. ISO/OSI七層協議模型與IP網路四層模式

  10.2.TCP/IP協議簇

  10.3. 基於嵌入式Linux的TCP/IP網路結構

  10.4. 基於嵌入式Linux的SOCKET程式設計

  10.5.UDP與TCP的區別

  10.6. UDP SERVER-CLIENT關係程

  11、檔案讀寫與儲存

  第九部分:QT移植與開發

  瞭解嵌入式Linux下的幾種常見GUI及其特點,重點能掌握QT的有關內容,具備QT程式設計能力。瞭解嵌入式資料庫的配置與開發。

  1、嵌入式Linux GUI介紹

        2、嵌入式QT開發包移植

  3、QT介紹及其訊號插槽機制

  4、QT圖形介面程式設計技術

        5、QT應用程式與Linux驅動的銜接

  6、QT在實際專案中具體應用

  第十部分:無線通訊應用

        1、無線wifi模組應用

  2、3G模組應用

  第十一分佈:嵌入式系統應用程式,驅動程式除錯

  1、Linux基本工具除錯使用。GDB,insight除錯等

  2、Linux應用程式的程式設計

  3、嵌入式產品程式打包與釋出

  第十二部分:嵌入式專案綜合除錯,產品釋出

  瞭解真實專案的開發流程,掌握如何將所學知識應用到專案開發中。

  模擬真實專案的管理過程,培養專案團隊協同開發能力,專案文件編寫能力和新知識的學習能力。

  嵌入式LININX開發第一學習階段,主要打好基礎:學好C程式設計,Linux系統程式設計。

  1、C語言程式設計基礎

  2、嵌入式開發基礎:Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開發環境構建

  3、嵌入式Linux系統程式設計:shell程式設計,檔案程式設計,串列埠程式設計,程序程式設計,執行緒程式設計,網路程式設計

  4、嵌入式專案開發:資料採集控制系統,串列埠伺服器

  (穿插:英語不好的可以專門去學習計算機專業英語)

  嵌入式LININX開發第二學習階段:掌握ARM彙編程式設計,驅動程式設計。

  1、ARM體系結構:ARM體系,ARM指令,Thumb指令,彙編程式設計,邏輯程式開發

  2、Linux核心移植:bootloader,核心配置,檔案系統

  3、驅動程式開發:驅動架構模型,字元裝置驅動,塊裝置驅動,網路驅動

  4、嵌入式專案開發:智慧家居系統,視訊監控系統

  嵌入式LININX開發第三學習階段:掌握C++面向物件程式設計,Qt程式設計。

  1、C++語言程式設計基礎

  2、QT程式設計開發:QT開發基礎,QT佈局與控制元件,QT繪圖,QT事件,QT網路通訊,QT資料庫,QT移植

  3、嵌入式專案開發:車載監控管理系統,工業能源管理系統