課程背景 |
開放的 Linux 受到廣泛的歡迎,得到越來越多公司的支持,但是阻礙 Linux 在各個領域廣泛應用的主要因素就是內核/驅動高端人才極度缺乏,Linux源代碼中85%是設備驅動,嵌入式系統中驅動程序更為重要,幾乎每一個嵌入式系統都是從驅動程序員手中調試出來的。然而面對巨大的市場需求,很難找到一家專門系統培訓Linux驅動工程師的培訓機構,因為培訓難度大,對老師的經驗和知識面要求高,大部分培訓機構的課程僅僅對Linux 淺嘗即止,難以達到培養 Linux 高水平人才的目的。
嵌入式linux驅動培訓是華清遠見的課程,本課程融合了講師多年的項目開發經驗,這些經驗無疑是學員短期內提升驅動開發水平有效的捷徑。 |
課程目標 |
驅動程序開發是嵌入式Linux項目中工作量大的一部分內容,開發出高質量的驅動程序是項目成功的關鍵。隨著產品上市周期的縮短,市場對于驅動程序開發人員的要求也在日益增加。 本課程旨在培養具備開發Linux下驅動程序的人才,采用理論教學與實驗相結合的方式,系統地介紹Linux下設備驅動程序開發的基本技術。通過本課程的學習,學員可以掌握Linux下字符設備、塊設備、網絡設備的驅動程序開發,同時掌握嵌入式Linux的系統開發和分析方法。 |
培養對象 |
Linux系統驅動開發工程師、Linux中高級軟件工程師以及內核開發人員。 |
入學要求 |
學員學習本課程應具備下列基礎知識:
◆ 熟練使用Linux操作系統,如學員具有一定的Linux內核閱讀經驗,效果會更好;
◆ 熟悉C語言,熟悉指針、結構體等概念;
◆ 了解接口電路和數字電路的知識,好具有電路設計經驗。 |
師資團隊 |
【王 輝】
● 講師,7年嵌入式開發經驗,針對多款硬件平臺(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)進行嵌入式Linux裁減及移植工作,對其它嵌入式操作系統(eCos,WindowsCE)也有深入的研究。同時具有深厚的硬件功底,獨自一人完成過上述多款平臺從電路圖設計,pcb布線,裸板的調試,bootloader編寫,操作系統(linux、WindowsCE)移植及驅動開發,上層開發庫及應用的移植一整套開發工作。
■ 點擊此處在線試聽王老師新授課視頻>>>
【宋寶華】
● 講師,多年嵌入式系統從業經驗,熟悉嵌入式系統軟硬件設計的全過程,有豐富的嵌入式系統硬件設計經驗,精通嵌入式Linux、Vxworks操作系統,尤其擅長Linux設備驅動開發,原創性地完成多種設備的驅動程序的開發。曾指導完成多個大型嵌入式項目的軟硬件設計,涉及通信、網絡、控制等領域。對嵌入式系統移植有很強的經驗,曾在X86/ARM//PowerPC等體系結構平臺上移植Linux內核、VxWorks系統。著有《Linux設備驅動開發詳解》一書。
【周 明】
● 講師,具有10年嵌入式技術從業經驗和6年嵌入式linux驅動開發經驗,對于嵌入式Linux的實現和應用有深入研究,主持開發過多個大型嵌入式項目,涉及網絡,通訊,控制,信息終端等各行各業,例如航天在軌數據采集系統、地震數據采集分析系統、車載MP4設備等。對系統移植有很強的經驗,在X86/ARM/XSCALE/PowerPC/MIPS等各種體系結構平臺上移植Linux內核;對于嵌入式Linux的實時性和Montavista Linux的特點有深入研究。
■ 點擊此處在線試聽周老師新授課視頻>>>
更多師資力量請參見華清遠見師資團隊。 |
教材 |
◆
《華清遠見-嵌入式Linux驅動開發培訓講義》
◆
《Linux設備驅動開發詳解》(2008.01出版) 華清遠見 編著
|
班級規模及環境 |
為了保證培訓效果,增加互動環節,我們堅持小班授課,每期報名人數限15人,多余人員安排到下一期進行。人手一套開發板和開發用的PC主機。 >>單擊查看實驗設備 |
時間地點 |
北京總部(滾動開班):
上課地點:北京清華大學
周末班(周六日上課):2008年7月19日,2008年8月23日,2008年9月6日
連續班(連續上課):2008年7月19日,2008年8月23日,2008年9月6日
上海分中心(滾動開班):
上課地點:上海徐匯區銀海大廈A座2層
周末班(周六日上課):2008年7月5日,2008年9月6日,2008年9月27日
連續班(連續上課):2008年7月5日,2008年9月6日,2008年9月27日
深圳分中心(滾動開班):
上課地點:深圳大學
周末班(周六日上課):2008年9月20日,2008年11月15日
連續班(連續上課):2008年9月20日,2008年11月15日
本課程每期班限額15名,報滿即停止報名,請提前在線或電話預約
華清遠見保留開課時間調整的權利,歡迎來電洽詢
|
學時費用 |
◆課時: 共4天,每天6學時,總計24學時
◆培訓費用(含教材費):2800元,個人自費(2500元),學生自費(1900元,憑有效證件)
◆認證費(可選):300元(項目考核通過,頒發由軟件行業協會嵌入式分會認證的《Linux設備驅動開發初級工程師》證書) >>單擊查看證書樣本
◆外地學員:代理安排食宿(需提前預定)
單擊查看退費規定說明>>>
|
新優惠 |
◆團體報名優惠措施:兩人95折優惠,三人或三人以上9折優惠
|
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在下期培訓班中重聽;
2、培訓結束后免費提供一個月的技術支持,充分保證培訓后出效果;
3、培訓合格學員可享受免費推薦就業機會。
|
課程進度安排(新更新日期:2008.01.10) |
時間 |
課程大綱 |
第一天 |
學習目標 |
通過Linux字符設備驅動程序開發內容的學習,學員可以從用戶設備I/O編程角度深入了解設備驅動的原理。通過內核模塊編程,掌握Linux內核的開發和設備驅動模型等基礎知識。通過了解字符設備驅動框架和具體硬件設備I/O操作,能夠進行字符設備驅動開發。
|
9:00
|
12:00 |
1. LINUX字符設備驅動程序開發
1.1 LINUX內核結構
1.2 LINUX內核配置與編譯
1.3 LINUX內核模塊編程與加載
1.4 LINUX-2.6設備驅動模型與SYSFS文件系統
1.5 LINUX設備驅動程序基礎與設備I/O
1.6 LINUX字符設備驅動基礎
1.7 字符設備驅動程序實現框架與典型驅動分析
1.8 用戶空間與內核空間的數據傳輸
1.9 阻塞與非阻塞I/O設計
|
13:00
|
16:00 |
【實驗】
1、驅動開發編程環境與內核配置、編譯
2、編寫模塊化字符設備驅動程序與測試
3、如何為內核程序傳遞參數
4、蜂鳴器驅動程序編寫與測試
5、阻塞型字符設備驅動編寫與測試
|
第二天 |
學習目標 |
通過字符設備驅動程序開發高級篇的學習,學員能夠進行復雜的字符設備驅動程序開發,包括掌握設備硬件中斷服務程序編寫、操作延遲與中斷上下部的編程以及掌握內核空間內存的使用等。
|
9:00
|
12:00 |
2. LINUX字符設備驅動程序高級開發
2.1 LINUX內核中斷子系統
2.2 中斷處理程序編寫
2.3 驅動程序上/下半部處理與延緩執行機制
2.4 內核定時器與延遲機制
2.5 內核地址空間與內存使用
2.6 內核與驅動程序調試
|
13:00
|
16:00 |
【實驗】
1、編寫一個簡單的驅動程序,使用3種內存分配機制
2、掃描鍵盤的驅動原理
3、內核定時器的使用
4、編寫帶中斷支持的掃描鍵盤驅動
5、上下部支持的鍵盤驅動編寫
|
第三天 |
學習目標 |
塊設備常用于存儲,如閃存等。通過這一天塊設備驅動程序開發的學習,學員能夠明白Linux中塊設備驅動的特點及框架,獨立分析Linux中大部分塊設備的驅動方法,并熟悉MTD設備驅動的特點與框架,具備MTD Nand Flash驅動程序開發的能力。通過實驗,學員還可以掌握IDE、Ramdisk驅動移植方法。
|
9:00
|
12:00 |
3. LINUX塊設備驅動程序開發
3.1 塊設備及其驅動的特點
3.2 塊設備驅動程序中兩個關鍵結構體GEN_DISK與REQUEST
3.3 塊設備驅動程序的注冊與請求處理
3.4 MTD設備的特點以及與塊設備的關系
3.5 MTD設備驅動的框架及關鍵結構體分析
3.6 S3C2410(S3C2440)中的NAND FLASH控制器分析
3.7 S3C2410(S3C2440) NAND FLASH MTD驅動分析
|
13:00
|
16:00 |
【實驗】
1、編寫簡單的塊設備驅動程序
2、實現RAMDISK驅動
3、IDE硬盤的驅動移植
4、移植S3C2410 閃存控制器驅動
5、配置MTD內核選項
6、移植嵌入式文件系統
|
第四天 |
學習目標 |
網絡設備是嵌入式產品開發,特別是基于網絡的產品開發中必須掌握的一種設備。通過Linux網絡設備驅動程序開發的學習,學員將深入理解Linux網絡驅動程序中有關套接字(socket)、套接字緩沖區(sk_buff)等概念,了解網絡驅動程序的數據交換過程。通過實際的動手操作,學員將掌握如何移植或編寫具體網卡的驅動程序,并在此基礎上實現更為高級的網絡功能。
|
9:00
|
12:00 |
4. LINUX網絡設備驅動程序開發
4.1 OSI網絡參考模型
4.2 套接字(SOCKET)簡介
4.3 套接字緩沖區(SK_BUFF)
4.4 NET_DEVICE結構分析
4.5 數據包傳送與接收
4.6 網絡驅動的中斷處理
4.7 網絡設備驅動程序的基本實現 |
13:00
|
16:00 |
【實驗】
1、了解網絡設備驅動中常用的數據結構
2、分析網絡驅動程序結構
3、編寫簡單的虛擬以太網卡驅動程序
4、移植并編寫CS8900A網卡驅動程序
5、移植并編寫DM9000網卡驅動程序
6、配置網絡參數,測試網卡驅動程序行為 |