|  課程背景 | 
                
                  |          
                      開放的 Linux 受到廣泛的歡迎,得到越來越多公司的支持,但是阻礙 Linux 在各個領域廣泛應用的主要因素就是內核/驅動高端人才極度缺乏,Linux源代碼中85%是設備驅動,嵌入式系統中驅動程序更為重要,幾乎每一個嵌入式系統都是從驅動程序員手中調試出來的。然而面對巨大的市場需求,很難找到一家專門系統培訓Linux驅動工程師的培訓機構,因為培訓難度大,對老師的經驗和知識面要求高,大部分培訓機構的課程僅僅對Linux 淺嘗即止,難以達到培養 Linux 高水平人才的目的。嵌入式linux驅動培訓是華清遠見的課程,本課程融合了講師多年的項目開發經驗,這些經驗無疑是學員短期內提升驅動開發水平有效的捷徑。
 | 
				
                  |  課程目標 | 
                
                  | 				          
驅動程(cheng)序(xu)開(kai)(kai)(kai)發(fa)(fa)是嵌入(ru)(ru)式(shi)Linux項目中(zhong)工(gong)作量大(da)的(de)(de)(de)一部(bu)分(fen)內(nei)容,開(kai)(kai)(kai)發(fa)(fa)出高質量的(de)(de)(de)驅動程(cheng)序(xu)是項目成(cheng)功的(de)(de)(de)關鍵。隨著(zhu)產品(pin)上(shang)市周期的(de)(de)(de)縮短,市場對于驅動程(cheng)序(xu)開(kai)(kai)(kai)發(fa)(fa)人員的(de)(de)(de)要求也在(zai)日(ri)益增加。	本課(ke)程(cheng)旨在(zai)培養具備(bei)開(kai)(kai)(kai)發(fa)(fa)Linux下驅動程(cheng)序(xu)的(de)(de)(de)人才,采用理(li)論(lun)教(jiao)學與實驗相結合的(de)(de)(de)方式(shi),系(xi)統地介紹Linux下設備(bei)驅動程(cheng)序(xu)開(kai)(kai)(kai)發(fa)(fa)的(de)(de)(de)基本技術。通過本課(ke)程(cheng)的(de)(de)(de)學習,學員可以掌(zhang)握(wo)(wo)Linux下字(zi)符設備(bei)、塊設備(bei)、網絡設備(bei)的(de)(de)(de)驅動程(cheng)序(xu)開(kai)(kai)(kai)發(fa)(fa),同時(shi)掌(zhang)握(wo)(wo)嵌入(ru)(ru)式(shi)Linux的(de)(de)(de)系(xi)統開(kai)(kai)(kai)發(fa)(fa)和(he)分(fen)析方法。 | 
				
                  |  培養對象 | 
                
                  | 
                          
                 Linux系統驅(qu)動開發工程(cheng)師(shi)、Linux中(zhong)高(gao)級軟件工程(cheng)師(shi)以及內核開發人員(yuan)。 | 
                
                  |  入學要求 | 
                
                  |                           
 學員學習本課程應具備下列基礎知識:◆ 熟練使用Linux操作系統,如學員具有一定的Linux內核閱讀經驗,效果會更好;
 ◆ 熟悉C語言,熟悉指針、結構體等概念;
         ◆ 了解接口電路和數字電路的知識,好具有電路設計經驗。
 | 
                
                  |  師資團隊 | 
                
                  |         【王 輝(hui)】 ●     講師,7年嵌入式開發經驗,針對多款硬件平臺(PowerPC8xx,Xscale,s3c2410,s3c2440,Mx1,Mx21,Mips,Parisc)進行嵌入式Linux裁減及移植工作,對其它嵌入式操作系統(eCos,WindowsCE)也有深入的研究。同時具有深厚的硬件功底,獨自一人完成過上述多款平臺從電路圖設計,pcb布線,裸板的調試,bootloader編寫,操作系統(linux、WindowsCE)移植及驅動開發,上層開發庫及應用的移植一整套開發工作。 ■     點擊此處在線試聽王老師新授課視頻>>>
         【宋(song)寶華】 ●     講師,多年嵌入式系統從業經驗,熟悉嵌入式系統軟硬件設計的全過程,有豐富的嵌入式系統硬件設計經驗,精通嵌入式Linux、Vxworks操作系統,尤其擅長Linux設備驅動開發,原創性地完成多種設備的驅動程序的開發。曾指導完成多個大型嵌入式項目的軟硬件設計,涉及通信、網絡、控制等領域。對嵌入式系統移植有很強的經驗,曾在X86/ARM//PowerPC等體系結構平臺上移植Linux內核、VxWorks系統。著有《Linux設備驅動開發詳解》一書。 
                           【周 明(ming)】●     講師,具有10年嵌入式技術從業經驗和6年嵌入式linux驅動開發經驗,對于嵌入式Linux的實現和應用有深入研究,主持開發過多個大型嵌入式項目,涉及網絡,通訊,控制,信息終端等各行各業,例如航天在軌數據采集系統、地震數據采集分析系統、車載MP4設備等。對系統移植有很強的經驗,在X86/ARM/XSCALE/PowerPC/MIPS等各種體系結構平臺上移植Linux內核;對于嵌入式Linux的實時性和Montavista Linux的特點有深入研究。 ■     點擊(ji)此處(chu)在(zai)線試聽(ting)周老師新授課視頻>>>
 更多師資力量請參見華清遠見師資團隊。                 | 
                
                  |  教材 | 
                
                  | 
                  
        ◆
《華清遠見-嵌入式Linux驅動開發培訓講義》 ◆
《Linux設備驅動開發詳解》(2008.01出版)  華清遠見 編著
 | 
               
                  |  班級規模及環境 | 
                
                  | 
                          
                  為了保證培訓效果,增加互動環節,我們堅持小班授課,每期報名人數限15人,多余人員安排到下一期進行。人手一套開發板和開發用的PC主機。          >>單(dan)擊查看實(shi)驗設備 | 
                
                  |  時間地點 | 
                 
                  | 
                    
					         北京(jing)總部(bu)(滾動開(kai)班):上課地點:北京清華大學
 周末班(周六日上課):2008年7月19日,2008年8月23日,2008年9月6日
 連續班(連續上課):2008年7月19日,2008年8月23日,2008年9月6日
 
 上海分中心(滾動(dong)開班(ban)):
 上課地點:上海徐匯區銀海大廈A座2層
 周末班(周六日上課):2008年7月5日,2008年9月6日,2008年9月27日
 連續班(連續上課):2008年7月5日,2008年9月6日,2008年9月27日
 深圳分中心(滾動開(kai)班):
 上課地點:深圳大學
 周末班(周六日上課):2008年9月20日,2008年11月15日
 連續班(連續上課):2008年9月20日,2008年11月15日
 
 本課程每期班限額15名,報滿即停止報名,請提前在線或電話預約華清遠(yuan)見保(bao)留開課時間(jian)調(diao)整(zheng)的權利,歡(huan)迎來電洽詢
 | 
				
|  學時費用 | 
                
                  | 
				          ◆課時: 共4天,每天6學時,總計24學時◆培訓費用(含教材費):2800元,個人自費(2500元),學生自費(1900元,憑有效證件)
 ◆認證費(可選):300元(項目考核通過,頒發由軟件行業協會嵌入式分會認證的《Linux設備驅動開發初級工程師》證書)    >>單擊查看證書樣本
       ◆外地學員:代理安排食宿(需提前預定)
 
 單擊查看退費規定說明>>> | 
                 
                  |  新優惠 | 
                 
                  | 
					        
                    ◆團體報名優惠措施:兩人95折優惠,三人或三人以上9折優惠 | 
                 
                  |  質量保障 | 
                 
                  | 
                              1、培訓過程中,如有部分內容理解不透或消化不好,可免費在下期培訓班中重聽;2、培訓結束后免費提供一個月的技術支持,充分保證培訓后出效果;
    3、培訓合格學員可享受免費推薦就業機會。
 | 
                
                  |  課程進度安排(新更新日期:2008.01.10) | 
                
                  | 時間 | 課程大綱 | 
                 
                  | 第一(yi)天 | 
				 
                  | 學習目標 |     通(tong)(tong)過Linux字符設(she)(she)(she)備(bei)驅(qu)(qu)(qu)動程(cheng)序開(kai)發(fa)內(nei)(nei)容的(de)學習(xi),學員(yuan)可(ke)以從用戶設(she)(she)(she)備(bei)I/O編程(cheng)角度深入(ru)了解設(she)(she)(she)備(bei)驅(qu)(qu)(qu)動的(de)原理。通(tong)(tong)過內(nei)(nei)核(he)模塊編程(cheng),掌握Linux內(nei)(nei)核(he)的(de)開(kai)發(fa)和設(she)(she)(she)備(bei)驅(qu)(qu)(qu)動模型(xing)等基(ji)礎知識。通(tong)(tong)過了解字符設(she)(she)(she)備(bei)驅(qu)(qu)(qu)動框架和具(ju)體硬件設(she)(she)(she)備(bei)I/O操(cao)作(zuo),能夠進(jin)行字符設(she)(she)(she)備(bei)驅(qu)(qu)(qu)動開(kai)發(fa)。
 | 
                 
                  | 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、阻塞型字符設備驅動編寫與測試
 | 
                 
                  | 第(di)二天 | 
				 
                  | 學習目標 |     通過字符設(she)備驅動程(cheng)序(xu)(xu)開發高級(ji)篇的學習,學員能夠進行(xing)復雜的字符設(she)備驅動程(cheng)序(xu)(xu)開發,包(bao)括掌(zhang)握設(she)備硬件中斷服務程(cheng)序(xu)(xu)編(bian)寫(xie)、操(cao)作延遲與中斷上下部的編(bian)程(cheng)以及掌(zhang)握內核空間內存的使用等。
 | 
                 
                  | 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、上下部支持的鍵盤驅動編寫
 
 | 
                 
                  | 第三天 | 
				 
                  | 學習目標 |     塊(kuai)設備常用于(yu)存(cun)儲,如閃存(cun)等。通(tong)過(guo)這一天塊(kuai)設備驅(qu)動(dong)程(cheng)序(xu)開發的(de)(de)(de)學(xue)(xue)習,學(xue)(xue)員能夠明白Linux中塊(kuai)設備驅(qu)動(dong)的(de)(de)(de)特點及(ji)框架,獨立分(fen)析(xi)Linux中大部(bu)分(fen)塊(kuai)設備的(de)(de)(de)驅(qu)動(dong)方法,并熟悉MTD設備驅(qu)動(dong)的(de)(de)(de)特點與框架,具備MTD Nand Flash驅(qu)動(dong)程(cheng)序(xu)開發的(de)(de)(de)能力。通(tong)過(guo)實驗,學(xue)(xue)員還可以掌握IDE、Ramdisk驅(qu)動(dong)移植方法。
 | 
                 
                  | 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、移植嵌入式文件系統
 
 | 
                 
                  | 第四天 | 
				 
                  | 學習目標 |     網(wang)(wang)(wang)(wang)絡設(she)(she)備是嵌入式產(chan)品(pin)開發,特別是基(ji)于網(wang)(wang)(wang)(wang)絡的產(chan)品(pin)開發中必須掌握(wo)(wo)的一種設(she)(she)備。通(tong)過Linux網(wang)(wang)(wang)(wang)絡設(she)(she)備驅動程序(xu)開發的學習,學員將深入理(li)解Linux網(wang)(wang)(wang)(wang)絡驅動程序(xu)中有關(guan)套接字(socket)、套接字緩沖(chong)區(sk_buff)等概念,了解網(wang)(wang)(wang)(wang)絡驅動程序(xu)的數據交換過程。通(tong)過實際的動手(shou)操作,學員將掌握(wo)(wo)如何移植或編寫具體網(wang)(wang)(wang)(wang)卡的驅動程序(xu),并在此基(ji)礎上實現更為高級的網(wang)(wang)(wang)(wang)絡功能。
 | 
                 
                  | 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、配置網絡參數,測試網卡驅動程序行為
 |