嵌入式linux驅動開發(fā)

    •  課程目標

      開放的 Linux 受到廣泛的歡迎,得到越來越多公司的支持,但是阻礙 Linux 在各個領域廣泛應用的主要因素就是內核/驅動高端人才極度缺乏,Linux源代碼中85%是設備驅動,嵌入式系統(tǒng)中驅動程序更為重要,幾乎每一個嵌入式系統(tǒng)都是從驅動程序員手中調試出來的。然而面對巨大的市場需求,國內很難找到一家專門系統(tǒng)培訓Linux驅動工程師的培訓機構,因為培訓難度大,對老師的經(jīng)驗和知識面要求高,大部分培訓機構的課程僅僅對Linux 淺嘗即止,難以達到培養(yǎng) Linux 高水平人才的目的。 嵌入式linux驅動培訓是華清遠見的金牌課程,本課程融合了講師多年的項目開發(fā)經(jīng)驗,這些經(jīng)驗無疑是學員短期內提升驅動開發(fā)水平最有效的捷徑。

    •  師資團隊

    • 華清創(chuàng)客企業(yè)內訓講師,均是來自各個領域的資深專家,均擁有6年以上大型項目經(jīng)驗。

    •  培養(yǎng)對象

      ①從事單片機等裸板開發(fā),想深入學習帶系統(tǒng)開發(fā)、驅動開發(fā)的學員;
      ②有內核、系統(tǒng)裁剪、定制等相關經(jīng)驗,想深入學習驅動開發(fā)的學員;
      ③期望從事嵌入式/物聯(lián)網(wǎng)底層驅動開發(fā)工作的學員

    •  培訓方式

    第一種:華清創(chuàng)客講師面授
    課時:共6天,每天6學時,總計36學時
    ◆費用(含教材費):公司費用3900元(含發(fā)票),個人自費3200元(不含發(fā)票),學生自費(2500元,憑有效證件)
    ◆培訓證書(可選):培訓合格學員可獲工業(yè)和信息化部《國家信息技術應用技能嵌入式Linux驅動開發(fā)工程師認證證書》(認證費500元),Atmel公司全球統(tǒng)一《Atmel嵌入式工程師認證證書》(認證費500元),紅帽公司《Linux驅動開發(fā)工程師證書》(認證費600元)。
    ◆外地學員:代理安排食宿(需提前預定)

    第二種:線上直播授課
    直播課時:共12天,每天3學時,總計36學時;
    輔導:授課期間,輔導老師每天有1小時的輔導直播
    ◆費用(含教材費):公司費用3900元(含發(fā)票),個人自費3200元(不含發(fā)票),學生自費(2500元,憑有效證件)
    ◆培訓證書(可選):培訓合格學員可獲工業(yè)和信息化部《國家信息技術應用技能嵌入式Linux驅動開發(fā)工程師認證證書》(認證費500元),Atmel公司全球統(tǒng)一《Atmel嵌入式工程師認證證書》(認證費500元),紅帽公司《Linux驅動開發(fā)工程師證書》(認證費600元)。

    第三種:嵌入式Linux驅動開發(fā)企業(yè)定制培訓
    課時:根據(jù)定制的大綱確定課時
    費用:根據(jù)課程難度,每課時1500~3000元
    ◆培訓證書(可選):培訓合格學員可獲工業(yè)和信息化部《國家信息技術應用技能嵌入式Linux驅動開發(fā)工程師認證證書》(認證費500元),Atmel公司全球統(tǒng)一《Atmel嵌入式工程師認證證書》(認證費500元),紅帽公司《Linux驅動開發(fā)工程師證書》(認證費600元)。

      •  質量保證

        1、培訓過程中,如有部分內容理解不透或消化不好,可免費在下期培訓班中重聽;

        2、培訓結束后免費提供一個月的技術支持,充分保證培訓后出效果;

        3、培訓合格學員可享受免費推薦就業(yè)機會。

      •  課程大綱



        第一章             

        學習目標通過本課學習,學員可以:從用戶設備I/O編程角度深入了解設備驅動的原理;通過了解字符設備驅動框架和具體硬件設備I/O操作,能夠進行字符設備驅動開發(fā);了解內核的設備模型及、linux3.14內核設備樹模型及掌握udev的使用。        

        第一節(jié)     1.LINUX字符設備驅動程序開發(fā) 

                    1.1 LINUX字符設備驅動基礎

                    1.2 字符設備驅動程序實現(xiàn)框架與典型驅動分析       

                    1.3 用戶空間與內核空間的數(shù)據(jù)傳輸  

                    1.4 同步、互斥、阻塞、睡眠機制       

                    1.5 Linux設備模型與sysfs文件系統(tǒng)     

                    1.6 Linux-3.14 設備樹模型     

                    1.7 udevdevfs文件系統(tǒng)     

                 實驗:    

                    1、驅動開發(fā)編程環(huán)境與內核配置、編譯    

                    2、編寫模塊化字符設備驅動程序與測試    

                    3、如何為內核程序傳遞參數(shù)        

                    4、在驅動代碼中加入創(chuàng)建proc結點方法   

                    5、蜂鳴器驅動程序編寫與測試    

                    6、編寫驅動實現(xiàn)包含等待隊列、信號量、fifo等功能      

                    7、學會利用udevsysfs文件系統(tǒng)動態(tài)創(chuàng)建設備結點     

         

        第二章             

        學習目標通過本課習,學員可以掌握在基本字符設備驅動的基礎上增加復雜的內核機制;了解1inux內核中斷子系統(tǒng)的實現(xiàn)原理,掌握linux中斷處理程序編寫方法;掌握內核延時機制及內存管理機制。熟悉基于Cortex-A9 4核處理器的FS4412平臺。    

        第二節(jié)     2.設備驅動中常用的內核機制     

                    2.1 Pollselect操作      

                    2.2 異步通知機制  

                    2.3 1inux內核中斷子系統(tǒng)       

                    2.4 中斷處理程序編寫  

                    2.5 驅動程序上/下半部處理與延緩執(zhí)行機制     

                    2.6 內核定時器與延遲機制  

                    2.7 內核內存管理機制  

                 實驗:    

                    1、編寫驅動實現(xiàn)包含poll功能    

                    2、編寫驅動實現(xiàn)包含異步通知功能    

                    3、編寫秒表字符設備,掌握定時器用法    

                    4、編寫驅動實現(xiàn)tasklet功能       

                    5、編寫驅動實現(xiàn)工作隊列功能    

                    6FS4412平臺上按鍵中斷實驗   

                    7FS4412平臺上A/D轉換實驗   

         

        第三章             

        學習目標通過本課學習,學員可以:明白Linux中塊設備驅動的特點及框架,獨立分析Linux中大部分塊設備的驅動方法,并熟悉eMMC設備驅動的特點與框架,具備eMMC驅動程序開發(fā)的能力。通過實驗,學員還可以掌握IDERamdisk驅動移植方法。        

        第三節(jié)     3.LINUX塊設備驅動程序開發(fā)      

                    3.1 塊設備及其驅動的特點  

                    3.2 兩個關鍵結構體GEN_DISKREQUEST

                    3.3 塊設備驅動程序的注冊與請求處理       

                    3.4 EXYNOS4412上的eMMC控制器簡介     

                 實驗:    

                    1、編寫簡單的塊設備驅動程序    

                    2、實現(xiàn)RAMDISK驅動  

                    3FS4412上完成eMMC驅動       

         

        第四章             

        學習目標學員可以:深入理解Linux網(wǎng)絡驅動程序中有關套接字(socket)、套接字緩沖區(qū)(sk_buff)等概念,了解網(wǎng)絡驅動程序的數(shù)據(jù)交換過程。通過實際的動手操作,學員將掌握如何移植或編寫具體網(wǎng)卡的驅動程序,并在此基礎上實現(xiàn)更為高級的網(wǎng)絡功能。        

        第四節(jié)     4.LINUX網(wǎng)絡設備驅動程序開發(fā) 

                    4.1 OSI網(wǎng)絡參考模型      

                    4.2 套接字(SOCKET)簡介  

                    4.3 套接字緩沖區(qū)(SK_BUFF     

                    4.4 NET_DEVICE結構分析      

                    4.5 數(shù)據(jù)包傳送與接收  

                    4.6 網(wǎng)絡驅動的中斷處理       

                    4.7 網(wǎng)絡設備驅動程序的基本實現(xiàn)       

        第五節(jié)     5. I2C驅動子系統(tǒng)開發(fā) 

        第六節(jié)     6. SPI驅動子系統(tǒng)開發(fā)  

                 實驗:    

                    1、編寫簡單的虛擬以太網(wǎng)卡驅動程序        

                    2、移植并編寫DM9000網(wǎng)卡驅動程序         

                    3、配置網(wǎng)絡參數(shù),測試網(wǎng)卡驅動程序行為

                

        第五章             

        學習目標通過對Linux幀緩沖內容的學習,學員可掌握嵌入式Linux顯示驅動程序的開發(fā)方法,理解嵌入式Linux圖形驅動程序實現(xiàn)機制,能夠移植或編寫嵌入式顯示控制器驅動程序,并完成針對各種LCD硬件的定制。

        掌握電容觸摸屏工作原理,能夠移植或編寫觸摸屏驅動程序。   

        第七節(jié)     7.LINUX幀緩沖驅動程序開發(fā)      

                    7.1 幀緩沖顯示技術       

                    7.2 幀緩沖驅動程序顯示原理       

                    7.3 幀緩沖驅動程序的數(shù)據(jù)結構  

                    7.4 幀緩沖驅動程序的API    

                    7.5 幀緩沖驅動程序的基本實現(xiàn)  

                    7.6 使用高級圖形庫       

        第八節(jié)     8.電容觸摸屏驅動開發(fā)

                    8.1 電容觸摸屏驅動程序編寫       

                 實驗:    

                    1、熟悉FRAMEBUFFER驅動的結構      

                    2、熟悉FRAMEBUFFER中的重要數(shù)據(jù)結構 

                    3、編寫EXYNOS4412彩色LCD控制器驅動程序

                    4、編寫測試程序控制屏幕顯示    

                    5、編譯高級圖形庫例子,顯示圖形    

                    6、熟悉觸屏驅動程序    

                    7、編寫觸屏測試代碼    

         

        第六章             

        學習目標掌握USB通訊規(guī)范及拓撲結構中的主機控制器、HUBUSB設備的工作流程;掌握EXYNOS4412 USB device控制器的工作原理。

        通過LinuxUSB Host驅動和USB Gadget開發(fā)內容的學習,學員將深入理解Linux內核USB子系統(tǒng),掌握USB驅動程序編寫技術。經(jīng)過學習后的學員能夠移植或編寫USB HostUSB Gadget設備驅動程序。"         

        第九節(jié)     9.LINUXUSB驅動開發(fā)基礎      

                    9.1 USB規(guī)范介紹    

                    9.2 USB主機控制器

                    9.3 USB HUB     

                    9.4 USB設備狀態(tài)    

                    9.5 USB描述符

                    9.6 USB請求    

                    9.7 USB通訊數(shù)據(jù)格式    

                    9.8 EXYNOS4412 USB device控制器        

                    9.9 編寫usbtransfer固件程序      

        第十節(jié)     10.LINUXUSB驅動高級開發(fā)   

                    10.1 Linux USB驅動層次 

                    10.2 Linux USB主機控制器驅動介紹     

                    10.3 Linux USB HUB驅動介紹

                    10.4 Linux USB 設備驅動程序         

                    10.5 Linux USB Host設備驅動程序

                    10.6 Linux USB Gadget設備驅動程序    

        第十一節(jié)      11.Linux下其它高級設備驅動簡單介紹      

                    11.1 PCI/PCIE設備驅動介紹  

                    11.2 V4L2攝像頭驅動介紹     

                    11.3 MTD Flash驅動介紹        

                 實驗:    

                    1、使用usbview工具觀察USB設備     

                    2、使用sysfs分析USB層次結構 

                    3LINUX下編寫USB Host設備驅動    

                    4LINUX下編寫USB Gadget設備驅動        

                           



the end

評論(0)