嵌入式linux驅動開發

    •  課程目標

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

    •  師資團隊

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

    •  培養對象

      ①從事單片機等裸板開發,想深入學習帶系統開發、驅動開發的學員;
      ②有內核、系統裁剪、定制等相關經驗,想深入學習驅動開發的學員;
      ③期望從事嵌入式/物聯網底層驅動開發工作的學員

    •  培訓方式

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

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

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

      •  質量保證

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

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

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

      •  課程大綱



        第一章             

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

        第一節     1.LINUX字符設備驅動程序開發 

                    1.1 LINUX字符設備驅動基礎

                    1.2 字符設備驅動程序實現框架與典型驅動分析       

                    1.3 用戶空間與內核空間的數據傳輸  

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

                    1.5 Linux設備模型與sysfs文件系統     

                    1.6 Linux-3.14 設備樹模型     

                    1.7 udevdevfs文件系統     

                 實驗:    

                    1、驅動開發編程環境與內核配置、編譯    

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

                    3、如何為內核程序傳遞參數        

                    4、在驅動代碼中加入創建proc結點方法   

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

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

                    7、學會利用udevsysfs文件系統動態創建設備結點     

         

        第二章             

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

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

                    2.1 Pollselect操作      

                    2.2 異步通知機制  

                    2.3 1inux內核中斷子系統       

                    2.4 中斷處理程序編寫  

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

                    2.6 內核定時器與延遲機制  

                    2.7 內核內存管理機制  

                 實驗:    

                    1、編寫驅動實現包含poll功能    

                    2、編寫驅動實現包含異步通知功能    

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

                    4、編寫驅動實現tasklet功能       

                    5、編寫驅動實現工作隊列功能    

                    6FS4412平臺上按鍵中斷實驗   

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

         

        第三章             

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

        第三節     3.LINUX塊設備驅動程序開發      

                    3.1 塊設備及其驅動的特點  

                    3.2 兩個關鍵結構體GEN_DISKREQUEST

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

                    3.4 EXYNOS4412上的eMMC控制器簡介     

                 實驗:    

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

                    2、實現RAMDISK驅動  

                    3FS4412上完成eMMC驅動       

         

        第四章             

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

        第四節     4.LINUX網絡設備驅動程序開發 

                    4.1 OSI網絡參考模型      

                    4.2 套接字(SOCKET)簡介  

                    4.3 套接字緩沖區(SK_BUFF     

                    4.4 NET_DEVICE結構分析      

                    4.5 數據包傳送與接收  

                    4.6 網絡驅動的中斷處理       

                    4.7 網絡設備驅動程序的基本實現       

        第五節     5. I2C驅動子系統開發 

        第六節     6. SPI驅動子系統開發  

                 實驗:    

                    1、編寫簡單的虛擬以太網卡驅動程序        

                    2、移植并編寫DM9000網卡驅動程序         

                    3、配置網絡參數,測試網卡驅動程序行為

                

        第五章             

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

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

        第七節     7.LINUX幀緩沖驅動程序開發      

                    7.1 幀緩沖顯示技術       

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

                    7.3 幀緩沖驅動程序的數據結構  

                    7.4 幀緩沖驅動程序的API    

                    7.5 幀緩沖驅動程序的基本實現  

                    7.6 使用高級圖形庫       

        第八節     8.電容觸摸屏驅動開發

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

                 實驗:    

                    1、熟悉FRAMEBUFFER驅動的結構      

                    2、熟悉FRAMEBUFFER中的重要數據結構 

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

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

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

                    6、熟悉觸屏驅動程序    

                    7、編寫觸屏測試代碼    

         

        第六章             

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

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

        第九節     9.LINUXUSB驅動開發基礎      

                    9.1 USB規范介紹    

                    9.2 USB主機控制器

                    9.3 USB HUB     

                    9.4 USB設備狀態    

                    9.5 USB描述符

                    9.6 USB請求    

                    9.7 USB通訊數據格式    

                    9.8 EXYNOS4412 USB device控制器        

                    9.9 編寫usbtransfer固件程序      

        第十節     10.LINUXUSB驅動高級開發   

                    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設備驅動程序    

        第十一節      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)