課程目標(biāo) |
本課程以案例教學(xué)為主,系統(tǒng)地介紹Linux下有關(guān)FrameBuffer、MMC卡、USB設(shè)備的驅(qū)動程序開發(fā)。參加本課程學(xué)習(xí)的學(xué)員,因為具備了Linux設(shè)備驅(qū)動開發(fā)基礎(chǔ),所以本課程針對性較強(qiáng),能在短期內(nèi)掌握上述幾類設(shè)備的開發(fā)。 |
培養(yǎng)對象 |
Linux系統(tǒng)驅(qū)動開發(fā)工程師、Linux中高級軟件工程師以及內(nèi)核開發(fā)人員。 |
入學(xué)要求 |
學(xué)員學(xué)習(xí)本課程應(yīng)具備下列基礎(chǔ)知識:
◆
熟練使用Linux操作系統(tǒng),具備一定的Linux內(nèi)核知識;
◆ 了解Linux驅(qū)動開發(fā)基礎(chǔ)(學(xué)員好具備驅(qū)動初級班知識);
◆
了解MMC/SD協(xié)議、USB協(xié)議效果會更好。 |
師資團(tuán)隊 |
【王 輝】
● 講師,7年嵌入式開發(fā)經(jīng)驗,針對多款硬件平臺(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)進(jìn)行嵌入式Linux裁減及移植工作,對其它嵌入式操作系統(tǒng)(eCos,WindowsCE)也有深入的研究。同時具有深厚的硬件功底,獨自一人完成過上述多款平臺從電路圖設(shè)計,pcb布線,裸板的調(diào)試,bootloader編寫,操作系統(tǒng)(linux、WindowsCE)移植及驅(qū)動開發(fā),上層開發(fā)庫及應(yīng)用的移植一整套開發(fā)工作。
■ 點擊此處在線試聽王老師新授課視頻>>>
【宋寶華】
● 講師,多年嵌入式系統(tǒng)從業(yè)經(jīng)驗,熟悉嵌入式系統(tǒng)軟硬件設(shè)計的全過程,有豐富的嵌入式系統(tǒng)硬件設(shè)計經(jīng)驗,精通嵌入式Linux、Vxworks操作系統(tǒng),尤其擅長Linux設(shè)備驅(qū)動開發(fā),原創(chuàng)性地完成多種設(shè)備的驅(qū)動程序的開發(fā)。曾指導(dǎo)完成多個大型嵌入式項目的軟硬件設(shè)計,涉及通信、網(wǎng)絡(luò)、控制等領(lǐng)域。對嵌入式系統(tǒng)移植有很強(qiáng)的經(jīng)驗,曾在X86/ARM//PowerPC等體系結(jié)構(gòu)平臺上移植Linux內(nèi)核、VxWorks系統(tǒng)。著有《Linux設(shè)備驅(qū)動開發(fā)詳解》一書。
【周 明】
● 講師,具有10年嵌入式技術(shù)從業(yè)經(jīng)驗和6年嵌入式linux驅(qū)動開發(fā)經(jīng)驗,對于嵌入式Linux的實現(xiàn)和應(yīng)用有深入研究,主持開發(fā)過多個大型嵌入式項目,涉及網(wǎng)絡(luò),通訊,控制,信息終端等各行各業(yè),例如航天在軌數(shù)據(jù)采集系統(tǒng)、地震數(shù)據(jù)采集分析系統(tǒng)、車載MP4設(shè)備等。對系統(tǒng)移植有很強(qiáng)的經(jīng)驗,在X86/ARM/XSCALE/PowerPC/MIPS等各種體系結(jié)構(gòu)平臺上移植Linux內(nèi)核;對于嵌入式Linux的實時性和Montavista Linux的特點有深入研究。
■ 點擊此處在線試聽周老師新授課視頻>>>
更多師資力量請參見華清遠(yuǎn)見師資團(tuán)隊。 |
教材 |
◆
《華清遠(yuǎn)見-嵌入式Linux驅(qū)動開發(fā)培訓(xùn)講義》
◆
《Linux設(shè)備驅(qū)動開發(fā)詳解》(2008.01出版) 華清遠(yuǎn)見 編著
|
班級規(guī)模及環(huán)境 |
為了保證培訓(xùn)效果,增加互動環(huán)節(jié),我們堅持小班授課,每期報名人數(shù)限15人,多余人員安排到下一期進(jìn)行。人手一套開發(fā)板和開發(fā)用的PC主機(jī)。 >>單擊查看實驗設(shè)備 |
時間地點 |
北京總部(滾動開班):
上課地點:北京清華大學(xué)
周末班(周六日上課):2008年7月26日,2008年8月30日,2008年9月13日
連續(xù)班(連續(xù)上課):2008年7月26日,2008年8月30日,2008年9月13日
上海分中心(滾動開班):
上課地點:上海徐匯區(qū)銀海大廈A座2層
周末班(周六日上課):2008年7月12日,2008年9月13日,2008年10月4日
連續(xù)班(連續(xù)上課):2008年7月12日,2008年9月13日,2008年10月4日
深圳分中心(滾動開班):
上課地點:深圳大學(xué)
周末班(周六日上課):2008年9月27日,2008年11月22日
連續(xù)班(連續(xù)上課):2008年9月27日,2008年11月22日
本課程每期班限額15名,報滿即停止報名,請?zhí)崆霸诰或電話預(yù)約
華清遠(yuǎn)見保留開課時間調(diào)整的權(quán)利,歡迎來電洽詢
|
學(xué)時費用 |
◆課時: 共4天,每天6學(xué)時,總計24學(xué)時
◆培訓(xùn)費用(含教材費):3200元,個人自費(2900元),學(xué)生自費(2500元,憑有效證件)
◆認(rèn)證費(可選):300元(項目考核通過,頒發(fā)由軟件行業(yè)協(xié)會嵌入式分會認(rèn)證的《Linux設(shè)備驅(qū)動開發(fā)高級工程師》證書) >>單擊查看證書樣本
◆外地學(xué)員:代理安排食宿(需提前預(yù)定)
單擊查看退費規(guī)定說明>>>
|
新優(yōu)惠 |
◆團(tuán)體報名優(yōu)惠措施:兩人95折優(yōu)惠,三人或三人以上9折優(yōu)惠
|
質(zhì)量保障 |
1、培訓(xùn)過程中,如有部分內(nèi)容理解不透或消化不好,可免費在下期培訓(xùn)班中重聽;
2、培訓(xùn)結(jié)束后免費提供一個月的技術(shù)支持,充分保證培訓(xùn)后出效果;
3、培訓(xùn)合格學(xué)員可享受免費推薦就業(yè)機(jī)會。
|
課程進(jìn)度安排(新更新日期:2008.01.10) |
時間 |
課程大綱 |
第一天 |
學(xué)習(xí)目標(biāo) |
通過對Linux幀緩沖內(nèi)容的學(xué)習(xí),學(xué)員可掌握嵌入式Linux顯示驅(qū)動程序的開發(fā)方法,理解嵌入式Linux圖形驅(qū)動程序?qū)崿F(xiàn)機(jī)制,能夠移植或編寫嵌入式顯示控制器驅(qū)動程序,并完成針對各種LCD硬件的定制。
|
9:00
|
12:00 |
1. LINUX幀緩沖驅(qū)動程序開發(fā)
1.1 幀緩沖顯示技術(shù)
1.2 幀緩沖驅(qū)動程序顯示原理
1.3 幀緩沖驅(qū)動程序的數(shù)據(jù)結(jié)構(gòu)
1.4 幀緩沖驅(qū)動程序的API
1.5 幀緩沖驅(qū)動程序的基本實現(xiàn)
1.6 使用高級圖形庫
|
13:00
|
16:00 |
【實驗】
1、熟悉FRAMEBUFFER驅(qū)動的結(jié)構(gòu)
2、熟悉FRAMEBUFFER中的重要數(shù)據(jù)結(jié)構(gòu)
3、編寫S3C2410彩色LCD控制器驅(qū)動程序
4、編寫測試程序控制屏幕顯示
5、編譯高級圖形庫例子,顯示圖形 |
第二天 |
學(xué)習(xí)目標(biāo) |
通過Linux下MMC/SD卡驅(qū)動開發(fā)內(nèi)容的學(xué)習(xí),學(xué)員可以了解MMC/SD卡的物理及電氣特性,熟悉相關(guān)的工作協(xié)議,并在此基礎(chǔ)上能夠移植或編寫Linux下的MMC/SD控制器的驅(qū)動程序。
|
9:00
|
12:00 |
2. LINUX下MMC/SD卡驅(qū)動開發(fā)
2.1 嵌入式系統(tǒng)中幾種常見存儲介質(zhì)的比較(NOR/NAND FLASH、CF、MMC/SD)
2.2 MMC/SD卡物理及電氣規(guī)范簡介
2.3 MMC/SD卡工作中的關(guān)鍵命令及關(guān)鍵結(jié)構(gòu)信息
2.4 S3C2410(S3C2440)中MMC/SDHOST控制器分析
2.5 LINUX中MMC/SD存儲卡驅(qū)動程序結(jié)構(gòu)分析
2.6 S3C2410(S3C2440)中MMC/SD HOST控制器的驅(qū)動實現(xiàn) |
13:00
|
16:00 |
【實驗】
1、MMC/SD協(xié)議分析與布線原則
2、在LINUX源碼中加入針對ARM平臺的MMC/SD主控制器驅(qū)動的支持
3、以所給的驅(qū)動模板為基礎(chǔ),補(bǔ)充初始化及命令和數(shù)據(jù)傳輸?shù)年P(guān)鍵代碼,終可以使用此代碼成功驅(qū)動SD存儲卡
|
第三天 |
學(xué)習(xí)目標(biāo) |
通過Linux下USB驅(qū)動開發(fā)內(nèi)容的學(xué)習(xí),學(xué)員將明白Linux中USB設(shè)備驅(qū)動的特點及層次結(jié)構(gòu),了解USB設(shè)備的初始化流程,從而進(jìn)行USB設(shè)備驅(qū)動的簡單開發(fā)。
|
9:00
|
12:00 |
3. LINUX下USB驅(qū)動開發(fā)基礎(chǔ)
3.1 LINUX內(nèi)核對USB的支持
3.2 USB主控制器初始化
3.3 USB主控制器層次結(jié)構(gòu)
3.4 USB HUB初始化
3.5 USB HUB對端口監(jiān)控
3.6 USB設(shè)備探測
3.7 USB總線地址分配
3.8 USB設(shè)備的初始化
|
13:00
|
16:00 |
【實驗】
1、使用USBVIEW工具察看LINUX內(nèi)核對USB的支持,以及USB總線拓?fù)?br>
2、使用SYSFS分析USB層次結(jié)構(gòu)
3、調(diào)試分析USB HUB驅(qū)動,察看設(shè)備初始化過程
4、編寫USB骨架程序
|
第四天 |
學(xué)習(xí)目標(biāo) |
通過Linux下USB驅(qū)動高級開發(fā)內(nèi)容的學(xué)習(xí),學(xué)員將深入理解Linux內(nèi)核USB子系統(tǒng),掌握USB驅(qū)動程序編寫技術(shù)。經(jīng)過學(xué)習(xí)后的學(xué)員能夠移植或編寫USB主機(jī)OHCI和設(shè)備驅(qū)動程序,后通過具體的USB設(shè)備,實現(xiàn)高級的USB驅(qū)動程序。
|
9:00
|
12:00 |
4. LINUX下USB驅(qū)動高級開發(fā)
4.1 USB HOST CONTROLLER OHCI芯片實現(xiàn)
4.2 USB STORAGE設(shè)備初始化
4.3 USB STORAGE與SCSI塊設(shè)備交互
4.4 USB STORAGE設(shè)備的協(xié)議轉(zhuǎn)換
4.5 USB 網(wǎng)絡(luò)芯片DM9601初始化
4.6 DM9601設(shè)備加載與卸載
4.7 DM9601設(shè)備數(shù)據(jù)發(fā)送與URB處理
4.8 使用USB中斷 |
13:00
|
16:00 |
【實驗】
1、調(diào)試USB STORAGE初始化過程和數(shù)據(jù)存儲,實現(xiàn)完整的U盤驅(qū)動
2、調(diào)試DM9601芯片加載/卸載,數(shù)據(jù)包傳遞以及USB中斷行為,構(gòu)建基于DM9601芯片的USB-NET系統(tǒng)上下部支持
3、調(diào)試并移植USB-網(wǎng)卡驅(qū)動程序
4、調(diào)試并移植USB-RS232驅(qū)動程序 |