課程背景
(資料圖)
驅(qū)動(dòng)是連接軟件和硬件的紐帶,在一個(gè)成熟的操作系統(tǒng)中,驅(qū)動(dòng)代碼的比例最高,工作量也很大。不論是UART,I2C,SPI,SD,顯示,聲音,視頻編解碼等嵌入式場(chǎng)景的驅(qū)動(dòng),還是服務(wù)器場(chǎng)景的pcie驅(qū)動(dòng),塊設(shè)備驅(qū)動(dòng)和網(wǎng)絡(luò)驅(qū)動(dòng),驅(qū)動(dòng)程序在整個(gè)系統(tǒng)中都發(fā)揮著重要的作用。
課程介紹
課程中軟件研發(fā)最基本能力(環(huán)境和文檔)開始帶大家上手,從最簡單的GPIO驅(qū)動(dòng)帶大家步入驅(qū)動(dòng)的殿堂。從GPIO驅(qū)動(dòng)引出Linux內(nèi)核對(duì)硬件的抽象,內(nèi)存管理和設(shè)備模型等話題。然后從大驅(qū)動(dòng)(網(wǎng)絡(luò)驅(qū)動(dòng)),電源管理和調(diào)試三方面,帶領(lǐng)大家提升解決復(fù)雜問題的能力。
具體目錄如下
第一課 (2.5小時(shí)) | 工欲善其事,必先利器—一開發(fā)環(huán)境搭建 | 獲得代碼的兩種方法 |
獲得文檔的兩個(gè)思路 | ||
利用前面兩步搭建自己的開發(fā)環(huán)境 | ||
從GPIO看硬件抽象 | MCU如何訪問GPIO | |
Linux如何訪問GPIO | ||
基于GPIO的驅(qū)動(dòng) | ||
Linux下訪問GPIO實(shí)際發(fā)生了什么 | ||
使用shell腳本測(cè)試gpio | ||
第二課 (2.5小時(shí)) | 驅(qū)動(dòng)程序的寄存器訪問和內(nèi)存分配 | MCU和Linux的寄存器API對(duì)比和實(shí)操 |
MCU和Linux的dma API對(duì)比和實(shí)操 | ||
用戶空間內(nèi)存分配,malloc的背后的原理 | ||
內(nèi)核內(nèi)存分配,在驅(qū)動(dòng)中分配內(nèi)存 | ||
使用工具獲得內(nèi)存分配狀態(tài) | ||
第三課 (2.5小時(shí)) | Linux設(shè)備模型與電源管理 | 如何學(xué)習(xí)Linux設(shè)備之“道” |
這么多種設(shè)備如何管理? Linux對(duì)硬件的抽象 | ||
電源管理在操作系統(tǒng)的中的位置 | ||
電源管理的硬件架構(gòu) | ||
Linux的電源管理框架 | ||
設(shè)備拓?fù)浣Y(jié)構(gòu)與休眠喚醒 | ||
第四課 (2.5小時(shí)) | 網(wǎng)絡(luò)驅(qū)動(dòng) | TCP/IP協(xié)議棧 |
MCU使用網(wǎng)絡(luò)協(xié)議的兩個(gè)方法 | ||
Linux的網(wǎng)絡(luò)協(xié)議棧 | ||
RGMII協(xié)議 | ||
phy芯片的驅(qū)動(dòng)和調(diào)試工具 | ||
使用python測(cè)試網(wǎng)絡(luò)狀態(tài) | ||
第五課 (2.5小時(shí)) | 驅(qū)動(dòng)調(diào)試手段 | 打印 |
斷點(diǎn) | ||
如何判斷是否是驅(qū)動(dòng)的性能瓶頸? | ||
5.0內(nèi)核之后的重要內(nèi)核更新 | 設(shè)備驅(qū)動(dòng)框架的更新 | |
內(nèi)存管理的更新 | ||
調(diào)測(cè)的更新 |
課程收益
?掌握Linux下設(shè)備驅(qū)動(dòng)開發(fā)方法;
?熟悉設(shè)備驅(qū)動(dòng)和操作系統(tǒng)的關(guān)系,不再盲人摸象;
?通過工具和方法支持自己高效工作,從自己每次重復(fù)性驅(qū)動(dòng)移植和調(diào)試硬件的工作中解脫出來;
?學(xué)習(xí)如何每次移植和調(diào)試變成加深對(duì)操作系統(tǒng)理解的過程。
講師介紹
張健/Bamvor
十年IT基礎(chǔ)設(shè)施研發(fā)經(jīng)驗(yàn),其中6年Linux kernel一線研發(fā)經(jīng)驗(yàn),在suse,華為(17級(jí)),星際比特(技術(shù)合伙人)等公司工作。
作為團(tuán)隊(duì)核心成員參與了大陸第一個(gè)Cortex-A8 SOC芯片研發(fā),負(fù)責(zé)CPU軟件驗(yàn)證,操作系統(tǒng)移植等工作。
作為華為派駐到Linaro的技術(shù)專家,主導(dǎo)/參與多個(gè)Linux與arm架構(gòu)相關(guān)特性研發(fā)(ILP32,continuous bit hint,kernel selftest等)
課程受眾
?希望從MCU(單片機(jī))轉(zhuǎn)行到Linux開發(fā)的工程師;
?已經(jīng)有Linux開發(fā)經(jīng)驗(yàn),希望深入了解操作系統(tǒng)的工程師;
?日常有大量重復(fù)驅(qū)動(dòng)調(diào)試工作,希望更多時(shí)間拓展自己的人。
課程定價(jià):6000元/人(閱碼場(chǎng)會(huì)員減1024,訓(xùn)練營老用戶優(yōu)惠券已發(fā)放。)
開課時(shí)間:2023年7月
課前準(zhǔn)備:課程咨詢請(qǐng)聯(lián)系客服小月(WX:linuxer2016)