
曙海教學優(yōu)勢
本課程面向企事業(yè)項目實際需要,秉承二十一年積累的教學品質(zhì),嵌入式Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓課程以項目實現(xiàn)為導向,老師將會與您分享設計的全流程以及工具的綜合使用技巧、經(jīng)驗。線上/線下/上門皆可,嵌入式Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓課程專家,課程可定制,熱線:4008699035。
大批企業(yè)和曙海
建立了良好的合作關(guān)系,合作企業(yè)30萬+。曙海的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。曙海的課程在業(yè)內(nèi)有著響亮的知名度。
Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓課程
培訓大綱:
第1章 簡介
1.1Linux的特點、版本演進與發(fā)展方向
1.2嵌入式Linux系統(tǒng)組成
1.3開發(fā)環(huán)境構(gòu)建
1.4 GNU工具鏈和GDB調(diào)試
第2章 嵌入式Linux構(gòu)建與啟動過程分析
2.1 文件系統(tǒng)組成??????????????
2.2 Busybox編譯與配置
2.3 加入C庫
2.4 Linux啟動過程
2.5 嵌入式Linux裁剪
第3章 Linux內(nèi)核進程調(diào)度
3.1 task_struct?????????????????
3.2 進程調(diào)度算法
3.3 進程調(diào)度時機?????????????
3.4 實時性
第4章 Linux內(nèi)核內(nèi)存管理
4.1 mm_struct, vma??????????
4.2 buddy系統(tǒng)
4.3 slab、kmalloc???????????
4.4 DMA、NORMAL、HIGHMEM ZONE
4.5 靜態(tài)內(nèi)存映射????????????
4.6 連續(xù)內(nèi)存管理,CMA
第5章 Linux內(nèi)核文件系統(tǒng)
5.1 虛擬文件系統(tǒng)????????????
5.2 inode、dentry、superblock
5.3 文件系統(tǒng)與block層??????
5.4 Flash文件系統(tǒng)
第6章 Linux 內(nèi)核系統(tǒng)調(diào)用
6.1 Linux系統(tǒng)調(diào)用實現(xiàn)原理
6.2 增加一個新的系統(tǒng)調(diào)用
第7章 內(nèi)核編程主要API
7.1 同步與并發(fā)??????????????
7.2 等待隊列
7.3 內(nèi)核延時????????????????
7.4 內(nèi)存申請和釋放
7.5定時器
7.6 中斷頂?shù)装氩?br/>
7.7 Linux內(nèi)核線程??????????
7.8 IO與內(nèi)存訪問
7.9 DMA與cache一致性
第8章 Linux內(nèi)核模塊
8.1 內(nèi)核模塊init和exit????
8.2 輸入?yún)?shù)
8.3 輸出參數(shù)
第9章 Linux內(nèi)核調(diào)試方法
9.1 printk?????????????????????
9.2 Oops和panic
9.3 內(nèi)核debug選項???????????
9.4 gdb、kgdb和kdb
9.5 使用仿真器
第10章 Linux設備驅(qū)動模型
10.1 Linux設備分類???????????
10.2 Sys,總線,設備和驅(qū)動
10.3 熱插拔??????????????????
10.4 電源管理
10.5 udev
第11章 Linux字符設備驅(qū)動結(jié)構(gòu)
11.1 Linux字符設備驅(qū)動結(jié)構(gòu)???
11.2 globalmem虛擬設備實例描述
11.3 globalmem設備驅(qū)動???????
11.4 globalmem驅(qū)動的編譯與加載
11.5 globalmem驅(qū)動在用戶空間的驗證
第12章 Linux設備驅(qū)動中的并發(fā)控制
12.1并發(fā)控制的概念???????????
12.2何時需要并發(fā)控制
12.3自旋鎖???????????????????
12.4信號量,mutex
12.5增加并發(fā)控制后的globalmem驅(qū)動
第13章 Linux設備驅(qū)動中的阻塞與非阻塞I/O
13.1阻塞與非阻塞I/O??????????
13.2 poll操作的概念
13.3何時需要poll操作?????????
13.4等待隊列waitqueues
13.5 Linux poll操作相關(guān)數(shù)據(jù)結(jié)構(gòu)與函數(shù)
13.6支持poll操作的globalmem驅(qū)動
第14章 Linux 設備驅(qū)動中的異步通知
14.1異步通知的概念
14.2何時需要異步通知
14.3 Linux異步通知相關(guān)數(shù)據(jù)結(jié)構(gòu)與函數(shù)
14.4支持異步通知的globalmem驅(qū)動
14.4.1在globalmem驅(qū)動中增加異步通知
14.4.2在用戶空間驗證globalmem的異步通知
第15章 Linux MTD子系統(tǒng)與FLASH驅(qū)動
15.1 Linux MTD子系統(tǒng)結(jié)構(gòu)??????
15.2 NOR FLASH驅(qū)動
15.3 NAND FLASH驅(qū)動?
15.4 FLASH文件系統(tǒng):JFFS2/YAFFS2/UBI
第16章 Linux 網(wǎng)絡設備驅(qū)動
16.1 Linux網(wǎng)絡協(xié)議棧???????????
16.2 sk_buff
16.3 Linux網(wǎng)絡設備驅(qū)動結(jié)構(gòu)?????
16.4數(shù)據(jù)發(fā)送流程
16.5數(shù)據(jù)接收流程
第17章 設備驅(qū)動的分層
17.1 設備驅(qū)動分層框架????????
17.2 實例1:input子系統(tǒng)
17.3 實例2:LCD子系統(tǒng)
第18章 I2C驅(qū)動
18.1 I2C主機驅(qū)動?????????????
18.2 I2C client驅(qū)動
18.3 I2C驅(qū)動電源管理?????????
18.4 I2C板文件信息
第19章 SPI驅(qū)動
19.1 SPI主機驅(qū)動?????????????
19.2 SPI client驅(qū)動
19.3 SPI驅(qū)動電源管理?????????
19.4 SPI板文件信息
第20章 platform設備驅(qū)動
20.1 platform驅(qū)動?????????????
20.2 platform設備
20.3 platform設備板級信息
第21章 將Linux移植到一個新的SoC
21.1 early_printk??????
21.2 L2 cache??????
21.3 OS timer
21.4 clk tree?????????
21.5 GPIO??????????
21.6 pinmux
21.7 IRQ chip?????????
21.8 DMA???????????
21.9 MACH_INIT
21.10 device tree?????
21.11 社區(qū)維護
第22章? Linux調(diào)試與性能優(yōu)化
22.1 strace?????????
22.2 core dump??????????
22.3 gdb與多線程????????
22.4常用工具(top/vmstat/iostat/sysctl等)
22.5 性能優(yōu)化: oprofile, LTTng, gprof????????
22.6 開機速度: bootchart???????????????????
22.7 功耗:powertop
22.8 延遲:latencytop
22.9 內(nèi)存分析: procmem、procrank、