課程描述
參加嵌入式linux系統(tǒng)開(kāi)發(fā)培訓(xùn)班可以使學(xué)員快速掌握嵌入式系統(tǒng)開(kāi)發(fā)的流程,系統(tǒng)移植的方法,Bootloader的原理,可以編寫(xiě)自己的Bootloader。學(xué)習(xí)本課程的學(xué)員能夠從事嵌入式系統(tǒng)相關(guān)的項(xiàng)目開(kāi)發(fā)。
培訓(xùn)目的
參加嵌入式linux系統(tǒng)開(kāi)發(fā)培訓(xùn)班可以使學(xué)員快速掌握嵌入式系統(tǒng)開(kāi)發(fā)的流程,系統(tǒng)移植的方法,Bootloader的原理,可以編寫(xiě)自己的Bootloader。學(xué)習(xí)本課程的學(xué)員能夠從事嵌入式系統(tǒng)相關(guān)的項(xiàng)目開(kāi)發(fā)
培訓(xùn)對(duì)象
有志進(jìn)行嵌入式Linux系統(tǒng)開(kāi)發(fā)環(huán)境下應(yīng)用程序開(kāi)發(fā)工程師。
職場(chǎng)定位
嵌入式系統(tǒng)開(kāi)發(fā)工程師、系統(tǒng)移植工程師。
入學(xué)要求
學(xué)員學(xué)習(xí)本課程應(yīng)具備下列基礎(chǔ)知識(shí);
開(kāi)課時(shí)間
2009-3-18
課 時(shí)
32學(xué)時(shí)
授課地點(diǎn)
廣州
證 書(shū)
GCSDE認(rèn)證
授課講師
方遠(yuǎn)銘
詳細(xì)課程介紹
*天
9:00
|
12:00 1 嵌入式Linux開(kāi)發(fā)環(huán)境構(gòu)建
目標(biāo):通過(guò)今天課程的學(xué)習(xí),學(xué)員能掌握嵌入式Linux交叉開(kāi)發(fā)環(huán)境的搭建、交叉編譯工具鏈的使用、交叉編譯工具鏈制作的原理、及學(xué)會(huì)通過(guò)crosstool制作自己的交叉工具鏈。
1.1 交叉開(kāi)發(fā)環(huán)境介紹
1.2 編譯交叉開(kāi)發(fā)工具鏈
1.3 配置主機(jī)開(kāi)發(fā)環(huán)境
1.4 建立交叉開(kāi)發(fā)環(huán)境
1.5 編譯器和二進(jìn)制工具詳解
1.6 交叉調(diào)試應(yīng)用程序
13:30
|
16:30 【實(shí)驗(yàn)】
(1) 安裝開(kāi)發(fā)工具和文件
(2) 配置超級(jí)終端/minicom
(3) 配置TFTP網(wǎng)絡(luò)服務(wù)
(4) 配置NFS網(wǎng)絡(luò)服務(wù)
(5) 引導(dǎo)目標(biāo)板啟動(dòng)Linux內(nèi)核
(6) 制作crosstool交叉工具鏈
(7) 交叉調(diào)試應(yīng)用程序
第二天
9:00
|
12:00 2 開(kāi)發(fā)系統(tǒng)引導(dǎo)程序
目標(biāo):理解嵌入式linux引導(dǎo)程序的原理,掌握如何在FS2410硬件平臺(tái)上移植u-boot。
2.1 Bootloader介紹
2.2 u-boot工程介紹
2.3 u-boot的編譯使用
2.4 u-boot源碼分析
2.5 u-boot資源分配
2.6 u-boot移植過(guò)程
13:30
|
16:30 【實(shí)驗(yàn)】
(1) u-boot常用命令
(2) 添加u-boot新命令
(3) 設(shè)置u-boot環(huán)境變量
(4) 配置編譯u-boot
(5) 移植FS2410的u-boot-1.3.4
● 支持網(wǎng)卡、串口功能
● 支持從nor、nandflash啟動(dòng)
● 支持nor、nandflash燒寫(xiě)
● 支持yaffs2、jffs2文件系統(tǒng)燒寫(xiě)
● 支持u盤(pán)文件讀取
第三天
9:00
|
12:00 3 配置編譯Linux內(nèi)核
目標(biāo):熟悉內(nèi)核的原碼結(jié)構(gòu)和kbuild Makefile語(yǔ)法;掌握和內(nèi)核、驅(qū)動(dòng)模塊編譯相關(guān)的原理及方法。
3.1 Linux內(nèi)核介紹
3.2 Linux內(nèi)核特點(diǎn)
3.3 Linux內(nèi)核源代碼結(jié)構(gòu)
3.4 Linux內(nèi)核選項(xiàng)解析
3.5 Linux內(nèi)核編譯鏈接
3.6 內(nèi)核模塊編譯、使用方法
13:30
|
16:30 【實(shí)驗(yàn)】
(1) 配置交叉開(kāi)發(fā)環(huán)境
(2) 熟悉菜單配置文件的組織結(jié)構(gòu)
(3) 熟悉內(nèi)核配置過(guò)程選項(xiàng)
(4) 加入Kconfig新選項(xiàng)
(5) 編譯交叉開(kāi)發(fā)環(huán)境所需要的內(nèi)核
(6) 在內(nèi)核中加入自己的字符設(shè)備程序
第四天
9:00
|
12:00 4 移植Linux內(nèi)核源碼
目標(biāo):通過(guò)今天課程的學(xué)習(xí),學(xué)員能夠熟悉內(nèi)核啟動(dòng)流程、掌握內(nèi)核移植的一般方法、分析平臺(tái)相關(guān)代碼結(jié)構(gòu),并能夠自己動(dòng)手移植高版本內(nèi)核支持FS2410開(kāi)發(fā)板。
4.1 Linux內(nèi)核移植介紹
4.2 Linux內(nèi)核移植平臺(tái)相關(guān)代碼分析
4.3 動(dòng)手修改Linux內(nèi)核源代碼
4.4 分析編譯過(guò)程錯(cuò)誤和宏定義的關(guān)系
4.5 Linux啟動(dòng)過(guò)程源代碼分析
4.6 2.6內(nèi)核平臺(tái)設(shè)備結(jié)構(gòu)介紹
13:30
|
16:30 【實(shí)驗(yàn)】
(1) 配置編譯高版本的Linux內(nèi)核
(2) 移植高版本(linux-2.6.26)內(nèi)核支持FS2410板
● 網(wǎng)卡驅(qū)動(dòng)移植
● mtd支持及flash分區(qū)方法
● yaffs2文件系統(tǒng)移植
● sd卡驅(qū)動(dòng)
● 液晶支持
● u盤(pán)功能
(3) 分析解決編譯過(guò)程中的錯(cuò)誤
第五天
9:00
|
12:00 5 集成部署Linux系統(tǒng)
目標(biāo):理解嵌入式linux引導(dǎo)程序的原理,掌握如何在FS2410硬件平臺(tái)上移植u-boot。
5.1 Linux文件系統(tǒng)制作
5.2 Linux系統(tǒng)集成測(cè)試
5.3 文件系統(tǒng)和存儲(chǔ)設(shè)備的選擇
5.4 部署Ramdisk文件系統(tǒng)的過(guò)程
5.5 部署JFFS2文件系統(tǒng)的過(guò)程
5.6 部署Yaffs2文件系統(tǒng)的過(guò)程
13:30
|
16:30 【實(shí)驗(yàn)】
(1) 制作最小的文件系統(tǒng)
(2) 添加udev支持
(3) 部署ramdisk文件系統(tǒng)
(4) 部署cramfs文件系統(tǒng)
(5) 部署jffs2文件系統(tǒng)
(6) 部署yaffs2文件系統(tǒng)
(7) 配置u-boot使系統(tǒng)獨(dú)立運(yùn)行
第六天
9:00
|
12:00 6 調(diào)試Linux內(nèi)核及優(yōu)化linux內(nèi)核
目標(biāo):掌握內(nèi)核調(diào)試的常用方法、內(nèi)核優(yōu)化的方法策略。
6.1 Linux內(nèi)核調(diào)試概述
6.2 Linux內(nèi)核的打印函數(shù)
6.3 Linux內(nèi)核啟動(dòng)過(guò)程錯(cuò)誤分析
6.4 解析oops信息
6.5 常用調(diào)試方法和工具
6.6 基本的驅(qū)動(dòng)程序分析
6.7 系統(tǒng)啟動(dòng)時(shí)間優(yōu)化
6.8 電源管理方法
● 動(dòng)態(tài)、靜態(tài)功耗介紹
● 嵌入式處理器對(duì)電源管理的支持
● 嵌入式linux電源管理結(jié)構(gòu)
● 用戶層電源管理策略
● 設(shè)備驅(qū)動(dòng)層電源管理策略
13:30
|
16:30 【實(shí)驗(yàn)】
(1) 通過(guò)基本調(diào)試手段解決內(nèi)核啟動(dòng)過(guò)程錯(cuò)誤
(2) 分析、處理oops錯(cuò)誤
(3) 優(yōu)化系統(tǒng),加快系統(tǒng)啟動(dòng)速度
(4) 優(yōu)化系統(tǒng),降低系統(tǒng)功耗