您的位置:首頁 >動態(tài) >

Linux驅(qū)動開發(fā)課程v1.0

2023-06-25 07:35:32 來源:面包芯語

課程背景


(資料圖)

驅(qū)動是連接軟件和硬件的紐帶,在一個成熟的操作系統(tǒng)中,驅(qū)動代碼的比例最高,工作量也很大。不論是UART,I2C,SPI,SD,顯示,聲音,視頻編解碼等嵌入式場景的驅(qū)動,還是服務(wù)器場景的pcie驅(qū)動,塊設(shè)備驅(qū)動和網(wǎng)絡(luò)驅(qū)動,驅(qū)動程序在整個系統(tǒng)中都發(fā)揮著重要的作用。

課程介紹

課程中軟件研發(fā)最基本能力(環(huán)境和文檔)開始帶大家上手,從最簡單的GPIO驅(qū)動帶大家步入驅(qū)動的殿堂。從GPIO驅(qū)動引出Linux內(nèi)核對硬件的抽象,內(nèi)存管理和設(shè)備模型等話題。然后從大驅(qū)動(網(wǎng)絡(luò)驅(qū)動),電源管理和調(diào)試三方面,帶領(lǐng)大家提升解決復雜問題的能力。

具體目錄如下

第一課

(2.5小時)

工欲善其事,必先利器—一開發(fā)環(huán)境搭建

獲得代碼的兩種方法

獲得文檔的兩個思路

利用前面兩步搭建自己的開發(fā)環(huán)境

從GPIO看硬件抽象

MCU如何訪問GPIO

Linux如何訪問GPIO

基于GPIO的驅(qū)動

Linux下訪問GPIO實際發(fā)生了什么

使用shell腳本測試gpio

第二課

(2.5小時)

驅(qū)動程序的寄存器訪問和內(nèi)存分配

MCU和Linux的寄存器API對比和實操

MCU和Linux的dma API對比和實操

用戶空間內(nèi)存分配,malloc的背后的原理

內(nèi)核內(nèi)存分配,在驅(qū)動中分配內(nèi)存

使用工具獲得內(nèi)存分配狀態(tài)

第三課

(2.5小時)

Linux設(shè)備模型與電源管理

如何學習Linux設(shè)備之“道”

這么多種設(shè)備如何管理? Linux對硬件的抽象

電源管理在操作系統(tǒng)的中的位置

電源管理的硬件架構(gòu)

Linux的電源管理框架

設(shè)備拓撲結(jié)構(gòu)與休眠喚醒

第四課

(2.5小時)

網(wǎng)絡(luò)驅(qū)動

TCP/IP協(xié)議棧

MCU使用網(wǎng)絡(luò)協(xié)議的兩個方法

Linux的網(wǎng)絡(luò)協(xié)議棧

RGMII協(xié)議

phy芯片的驅(qū)動和調(diào)試工具

使用python測試網(wǎng)絡(luò)狀態(tài)

第五課

(2.5小時)

驅(qū)動調(diào)試手段

打印

斷點

如何判斷是否是驅(qū)動的性能瓶頸?

5.0內(nèi)核之后的重要內(nèi)核更新

設(shè)備驅(qū)動框架的更新

內(nèi)存管理的更新

調(diào)測的更新

課程收益

?掌握Linux下設(shè)備驅(qū)動開發(fā)方法;

?熟悉設(shè)備驅(qū)動和操作系統(tǒng)的關(guān)系,不再盲人摸象;

?通過工具和方法支持自己高效工作,從自己每次重復性驅(qū)動移植和調(diào)試硬件的工作中解脫出來;

?學習如何每次移植和調(diào)試變成加深對操作系統(tǒng)理解的過程。

講師介紹

張健/Bamvor

十年IT基礎(chǔ)設(shè)施研發(fā)經(jīng)驗,其中6年Linux kernel一線研發(fā)經(jīng)驗,在suse,華為(17級),星際比特(技術(shù)合伙人)等公司工作。

作為團隊核心成員參與了大陸第一個Cortex-A8 SOC芯片研發(fā),負責CPU軟件驗證,操作系統(tǒng)移植等工作。

作為華為派駐到Linaro的技術(shù)專家,主導/參與多個Linux與arm架構(gòu)相關(guān)特性研發(fā)(ILP32,continuous bit hint,kernel selftest等)

課程受眾

?希望從MCU(單片機)轉(zhuǎn)行到Linux開發(fā)的工程師;

?已經(jīng)有Linux開發(fā)經(jīng)驗,希望深入了解操作系統(tǒng)的工程師;

?日常有大量重復驅(qū)動調(diào)試工作,希望更多時間拓展自己的人。

課程定價:6000元/人(閱碼場會員減1024,訓練營老用戶優(yōu)惠券已發(fā)放。)

開課時間:2023年7月

課前準備:課程咨詢請聯(lián)系客服小月(WX:linuxer2016)