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