嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)

    •  課程目標(biāo)

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

    •  師資團(tuán)隊(duì)

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

    •  培養(yǎng)對(duì)象

      ①?gòu)氖聠纹瑱C(jī)等裸板開(kāi)發(fā),想深入學(xué)習(xí)帶系統(tǒng)開(kāi)發(fā)、驅(qū)動(dòng)開(kāi)發(fā)的學(xué)員;
      ②有內(nèi)核、系統(tǒng)裁剪、定制等相關(guān)經(jīng)驗(yàn),想深入學(xué)習(xí)驅(qū)動(dòng)開(kāi)發(fā)的學(xué)員;
      ③期望從事嵌入式/物聯(lián)網(wǎng)底層驅(qū)動(dòng)開(kāi)發(fā)工作的學(xué)員

    •  培訓(xùn)方式

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

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

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

      •  質(zhì)量保證

        1、培訓(xùn)過(guò)程中,如有部分內(nèi)容理解不透或消化不好,可免費(fèi)在下期培訓(xùn)班中重聽(tīng);

        2、培訓(xùn)結(jié)束后免費(fèi)提供一個(gè)月的技術(shù)支持,充分保證培訓(xùn)后出效果;

        3、培訓(xùn)合格學(xué)員可享受免費(fèi)推薦就業(yè)機(jī)會(huì)。

      •  課程大綱



        第一章             

        學(xué)習(xí)目標(biāo)通過(guò)本課學(xué)習(xí),學(xué)員可以:從用戶設(shè)備I/O編程角度深入了解設(shè)備驅(qū)動(dòng)的原理;通過(guò)了解字符設(shè)備驅(qū)動(dòng)框架和具體硬件設(shè)備I/O操作,能夠進(jìn)行字符設(shè)備驅(qū)動(dòng)開(kāi)發(fā);了解內(nèi)核的設(shè)備模型及、linux3.14內(nèi)核設(shè)備樹(shù)模型及掌握udev的使用。        

        第一節(jié)     1.LINUX字符設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā) 

                    1.1 LINUX字符設(shè)備驅(qū)動(dòng)基礎(chǔ)

                    1.2 字符設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)框架與典型驅(qū)動(dòng)分析       

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

                    1.4 同步、互斥、阻塞、睡眠機(jī)制       

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

                    1.6 Linux-3.14 設(shè)備樹(shù)模型     

                    1.7 udevdevfs文件系統(tǒng)     

                 實(shí)驗(yàn):    

                    1、驅(qū)動(dòng)開(kāi)發(fā)編程環(huán)境與內(nèi)核配置、編譯    

                    2、編寫(xiě)模塊化字符設(shè)備驅(qū)動(dòng)程序與測(cè)試    

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

                    4、在驅(qū)動(dòng)代碼中加入創(chuàng)建proc結(jié)點(diǎn)方法   

                    5、蜂鳴器驅(qū)動(dòng)程序編寫(xiě)與測(cè)試    

                    6、編寫(xiě)驅(qū)動(dòng)實(shí)現(xiàn)包含等待隊(duì)列、信號(hào)量、fifo等功能      

                    7、學(xué)會(huì)利用udevsysfs文件系統(tǒng)動(dòng)態(tài)創(chuàng)建設(shè)備結(jié)點(diǎn)     

         

        第二章             

        學(xué)習(xí)目標(biāo)通過(guò)本課習(xí),學(xué)員可以掌握在基本字符設(shè)備驅(qū)動(dòng)的基礎(chǔ)上增加復(fù)雜的內(nèi)核機(jī)制;了解1inux內(nèi)核中斷子系統(tǒng)的實(shí)現(xiàn)原理,掌握linux中斷處理程序編寫(xiě)方法;掌握內(nèi)核延時(shí)機(jī)制及內(nèi)存管理機(jī)制。熟悉基于Cortex-A9 4核處理器的FS4412平臺(tái)。    

        第二節(jié)     2.設(shè)備驅(qū)動(dòng)中常用的內(nèi)核機(jī)制     

                    2.1 Pollselect操作      

                    2.2 異步通知機(jī)制  

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

                    2.4 中斷處理程序編寫(xiě)  

                    2.5 驅(qū)動(dòng)程序上/下半部處理與延緩執(zhí)行機(jī)制     

                    2.6 內(nèi)核定時(shí)器與延遲機(jī)制  

                    2.7 內(nèi)核內(nèi)存管理機(jī)制  

                 實(shí)驗(yàn):    

                    1、編寫(xiě)驅(qū)動(dòng)實(shí)現(xiàn)包含poll功能    

                    2、編寫(xiě)驅(qū)動(dòng)實(shí)現(xiàn)包含異步通知功能    

                    3、編寫(xiě)秒表字符設(shè)備,掌握定時(shí)器用法    

                    4、編寫(xiě)驅(qū)動(dòng)實(shí)現(xiàn)tasklet功能       

                    5、編寫(xiě)驅(qū)動(dòng)實(shí)現(xiàn)工作隊(duì)列功能    

                    6FS4412平臺(tái)上按鍵中斷實(shí)驗(yàn)   

                    7FS4412平臺(tái)上A/D轉(zhuǎn)換實(shí)驗(yàn)   

         

        第三章             

        學(xué)習(xí)目標(biāo)通過(guò)本課學(xué)習(xí),學(xué)員可以:明白Linux中塊設(shè)備驅(qū)動(dòng)的特點(diǎn)及框架,獨(dú)立分析Linux中大部分塊設(shè)備的驅(qū)動(dòng)方法,并熟悉eMMC設(shè)備驅(qū)動(dòng)的特點(diǎn)與框架,具備eMMC驅(qū)動(dòng)程序開(kāi)發(fā)的能力。通過(guò)實(shí)驗(yàn),學(xué)員還可以掌握IDERamdisk驅(qū)動(dòng)移植方法。        

        第三節(jié)     3.LINUX塊設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)      

                    3.1 塊設(shè)備及其驅(qū)動(dòng)的特點(diǎn)  

                    3.2 兩個(gè)關(guān)鍵結(jié)構(gòu)體GEN_DISKREQUEST

                    3.3 塊設(shè)備驅(qū)動(dòng)程序的注冊(cè)與請(qǐng)求處理       

                    3.4 EXYNOS4412上的eMMC控制器簡(jiǎn)介     

                 實(shí)驗(yàn):    

                    1、編寫(xiě)簡(jiǎn)單的塊設(shè)備驅(qū)動(dòng)程序    

                    2、實(shí)現(xiàn)RAMDISK驅(qū)動(dòng)  

                    3FS4412上完成eMMC驅(qū)動(dòng)       

         

        第四章             

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

        第四節(jié)     4.LINUX網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā) 

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

                    4.2 套接字(SOCKET)簡(jiǎn)介  

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

                    4.4 NET_DEVICE結(jié)構(gòu)分析      

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

                    4.6 網(wǎng)絡(luò)驅(qū)動(dòng)的中斷處理       

                    4.7 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的基本實(shí)現(xiàn)       

        第五節(jié)     5. I2C驅(qū)動(dòng)子系統(tǒng)開(kāi)發(fā) 

        第六節(jié)     6. SPI驅(qū)動(dòng)子系統(tǒng)開(kāi)發(fā)  

                 實(shí)驗(yàn):    

                    1、編寫(xiě)簡(jiǎn)單的虛擬以太網(wǎng)卡驅(qū)動(dòng)程序        

                    2、移植并編寫(xiě)DM9000網(wǎng)卡驅(qū)動(dòng)程序         

                    3、配置網(wǎng)絡(luò)參數(shù),測(cè)試網(wǎng)卡驅(qū)動(dòng)程序行為

                

        第五章             

        學(xué)習(xí)目標(biāo)通過(guò)對(duì)Linux幀緩沖內(nèi)容的學(xué)習(xí),學(xué)員可掌握嵌入式Linux顯示驅(qū)動(dòng)程序的開(kāi)發(fā)方法,理解嵌入式Linux圖形驅(qū)動(dòng)程序?qū)崿F(xiàn)機(jī)制,能夠移植或編寫(xiě)嵌入式顯示控制器驅(qū)動(dòng)程序,并完成針對(duì)各種LCD硬件的定制。

        掌握電容觸摸屏工作原理,能夠移植或編寫(xiě)觸摸屏驅(qū)動(dòng)程序。   

        第七節(jié)     7.LINUX幀緩沖驅(qū)動(dòng)程序開(kāi)發(fā)      

                    7.1 幀緩沖顯示技術(shù)       

                    7.2 幀緩沖驅(qū)動(dòng)程序顯示原理       

                    7.3 幀緩沖驅(qū)動(dòng)程序的數(shù)據(jù)結(jié)構(gòu)  

                    7.4 幀緩沖驅(qū)動(dòng)程序的API    

                    7.5 幀緩沖驅(qū)動(dòng)程序的基本實(shí)現(xiàn)  

                    7.6 使用高級(jí)圖形庫(kù)       

        第八節(jié)     8.電容觸摸屏驅(qū)動(dòng)開(kāi)發(fā)

                    8.1 電容觸摸屏驅(qū)動(dòng)程序編寫(xiě)       

                 實(shí)驗(yàn):    

                    1、熟悉FRAMEBUFFER驅(qū)動(dòng)的結(jié)構(gòu)      

                    2、熟悉FRAMEBUFFER中的重要數(shù)據(jù)結(jié)構(gòu) 

                    3、編寫(xiě)EXYNOS4412彩色LCD控制器驅(qū)動(dòng)程序

                    4、編寫(xiě)測(cè)試程序控制屏幕顯示    

                    5、編譯高級(jí)圖形庫(kù)例子,顯示圖形    

                    6、熟悉觸屏驅(qū)動(dòng)程序    

                    7、編寫(xiě)觸屏測(cè)試代碼    

         

        第六章             

        學(xué)習(xí)目標(biāo)掌握USB通訊規(guī)范及拓?fù)浣Y(jié)構(gòu)中的主機(jī)控制器、HUBUSB設(shè)備的工作流程;掌握EXYNOS4412 USB device控制器的工作原理。

        通過(guò)LinuxUSB Host驅(qū)動(dòng)和USB Gadget開(kāi)發(fā)內(nèi)容的學(xué)習(xí),學(xué)員將深入理解Linux內(nèi)核USB子系統(tǒng),掌握USB驅(qū)動(dòng)程序編寫(xiě)技術(shù)。經(jīng)過(guò)學(xué)習(xí)后的學(xué)員能夠移植或編寫(xiě)USB HostUSB Gadget設(shè)備驅(qū)動(dòng)程序。"         

        第九節(jié)     9.LINUXUSB驅(qū)動(dòng)開(kāi)發(fā)基礎(chǔ)      

                    9.1 USB規(guī)范介紹    

                    9.2 USB主機(jī)控制器

                    9.3 USB HUB     

                    9.4 USB設(shè)備狀態(tài)    

                    9.5 USB描述符

                    9.6 USB請(qǐng)求    

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

                    9.8 EXYNOS4412 USB device控制器        

                    9.9 編寫(xiě)usbtransfer固件程序      

        第十節(jié)     10.LINUXUSB驅(qū)動(dòng)高級(jí)開(kāi)發(fā)   

                    10.1 Linux USB驅(qū)動(dòng)層次 

                    10.2 Linux USB主機(jī)控制器驅(qū)動(dòng)介紹     

                    10.3 Linux USB HUB驅(qū)動(dòng)介紹

                    10.4 Linux USB 設(shè)備驅(qū)動(dòng)程序         

                    10.5 Linux USB Host設(shè)備驅(qū)動(dòng)程序

                    10.6 Linux USB Gadget設(shè)備驅(qū)動(dòng)程序    

        第十一節(jié)      11.Linux下其它高級(jí)設(shè)備驅(qū)動(dòng)簡(jiǎn)單介紹      

                    11.1 PCI/PCIE設(shè)備驅(qū)動(dòng)介紹  

                    11.2 V4L2攝像頭驅(qū)動(dòng)介紹     

                    11.3 MTD Flash驅(qū)動(dòng)介紹        

                 實(shí)驗(yàn):    

                    1、使用usbview工具觀察USB設(shè)備     

                    2、使用sysfs分析USB層次結(jié)構(gòu) 

                    3LINUX下編寫(xiě)USB Host設(shè)備驅(qū)動(dòng)    

                    4LINUX下編寫(xiě)USB Gadget設(shè)備驅(qū)動(dòng)        

                           



the end

評(píng)論(0)