1. 程式人生 > >嵌入式開發-寫在這裏作為參照

嵌入式開發-寫在這裏作為參照

make 網絡播放器 虛擬機安裝 mtd tcp 目前 添加 讀寫操作 無線網

第一部分: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開發 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、嵌入式項目開發:車載監控管理系統,工業能源管理系統

嵌入式設計應具備的基本技能

1、Linux 基礎

安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解 熟悉Linux服務能夠獨立安裝Linux操作系統 能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務安裝Linux操作系統 Linux基本命令實踐 設置Linux環境變量 定制Linux的服務 Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器

2、Shell 編程基礎

Shell簡介 認識後臺程序Bash編程熟悉Linux系統下的編輯環境 熟悉Linux下的各種Shell 熟練進行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區別 編寫一個測試服務器是否連通的shell腳本程序 編寫一個查看進程是否存在的shell腳本程序 編寫一個帶有循環語句的shell腳本程序

3、Linux 下的 C 編程基礎

linux c語言環境概述 Gcc使用方法 Gdb調試技術 AutoconfAutomake Makefile 代碼優化 熟悉Linux系統下的開發環境 熟悉Gcc編譯器 熟悉Makefile規則編寫Hello,World程序 使用 make命令編譯程序 編寫帶有一個循環的程序 調試一個有問題的程序

4、嵌入式系統開發基礎

嵌入式系統概述 交叉編譯 配置TFTP服務 配置NFS服務 下載Bootloader和內核 嵌入式Linux應用軟件開發流程熟悉嵌入式系統概念以及開發流程 建立嵌入式系統開發環境制作cross_gcc工具鏈 編譯並下載U-boot 編譯並下載Linux內核 編譯並下載Linux應用程序

5、嵌入式系統移植

Linux內核代碼 平臺相關代碼分析 ARM平臺介紹 平臺移植的關鍵技術 移植Linux內核到 ARM平臺 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開發板

6、嵌入式 Linux 下串口通信

串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉文件I/O 編寫串口通信程序 編寫多串口通信程序

7、嵌入式系統中多進程程序設計

Linux系統進程概述 嵌入式系統的進程特點 進程操作 守護進程 相關的系統調用了解Linux系統中進程的概念 能夠編寫多進程程序編寫多進程程序 編寫一個守護進程程序 sleep系統調用任務管理、同步與通信Linux任務概述任務調度 管道 信號 共享內存 任務管理 API 了解Linux系統任務管理機制 熟悉進程間通信的幾種方式 熟悉嵌入式Linux中的任務間同步與通信編寫一個簡單的管道程序實現文件傳輸 編寫一個使用共享內存的程序

8、嵌入式系統中多線程程序設計

線程的基礎知識 多線程編程方法 線程應用中的同步問題了解線程的概念 能夠編寫簡單的多線程程序編寫一個多線程程序

9、嵌入式 Linux 網絡編程

網絡基礎知識 嵌入式Linux中TCP/IP網絡結構 socket 編程 常用 API函數 分析Ping命令的實現 基本UDP套接口編程 許可證管理 PPP協議 GPRS 了解嵌入式Linux網絡體系結構 能夠進行嵌入式Linux環境下的socket 編程 熟悉UDP協議、PPP協議 熟悉GPRS 使用socket 編寫代理服務器 使用socket 編寫路由器編寫許可證服務器 指出TCP和UDP的優缺點 編寫一個web服務器 編寫一個運行在 ARM平臺的網絡播放器

10、GUI 程序開發

GUI基礎 嵌入式系統GUI類型 編譯QT 進行QT開發熟悉嵌入式系統常用的GUI 能夠進行QT編程使用QT編寫“Hello,World”程序 調試一個加入信號/槽的實例 通過重載QWidget 類方法處理事件

11、Linux 字符設備驅動程序

設備驅動程序基礎知識 Linux系統的模塊 字符設備驅動分析 fs_operation結構 加載驅動程序了解設備驅動程序的概念 了解Linux字符設備驅動程序結構 能夠編寫字符設備驅動程序編寫Skull驅動 編寫鍵盤驅動編寫I/O驅動 分析一個看門狗驅動程序 對比Linux2.6內核與2.4內核中字符設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理 典型的塊設備驅動程序分析 塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構 能夠編寫簡單的塊設備驅動程序比較字符設備與塊設備的異同 編寫MMC卡驅動程序 分析一個文件系統 對比Linux2.6內核與2.4內核中塊設備驅動的不同

12、文件系統

虛擬文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術簡介 MTD塊設備初始化 MTD塊設備的讀寫操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統 了解MTD技術 能夠編寫簡單的文件系統為 ARM9開發板添加 MTD支持 移植JFFS2文件系統 通過proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創建一個cramfs 文件系統

嵌入式開發-寫在這裏作為參照