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