
曙海教學(xué)優(yōu)勢
本課程面向企事業(yè)項目實際需要,秉承二十一年積累的教學(xué)品質(zhì),嵌入式Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓(xùn)課程-以項目實現(xiàn)為導(dǎo)向,老師將會與您分享設(shè)計的全流程以及工具的綜合使用經(jīng)驗、技巧。線上/線下/上門皆可,嵌入式Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓(xùn)課程-專家,課程可定制,熱線:4008699035。
  曙海的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。曙海的課程在業(yè)內(nèi)有著響亮的知名度。大批企業(yè)和曙海
     建立了良好的合作關(guān)系,20多年來,合作企事業(yè)單位以達(dá)30多萬。
Linux內(nèi)核驅(qū)動開發(fā)技術(shù)培訓(xùn)課程
培訓(xùn)大綱:
第1章 簡介
1.1Linux的特點、版本演進(jìn)與發(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)核進(jìn)程調(diào)度 
3.1 task_struct????????????????? 
3.2 進(jìn)程調(diào)度算法
3.3 進(jìn)程調(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設(shè)備驅(qū)動模型 
10.1 Linux設(shè)備分類??????????? 
10.2 Sys,總線,設(shè)備和驅(qū)動
10.3 熱插拔?????????????????? 
10.4 電源管理
10.5 udev
第11章 Linux字符設(shè)備驅(qū)動結(jié)構(gòu) 
11.1 Linux字符設(shè)備驅(qū)動結(jié)構(gòu)??? 
11.2 globalmem虛擬設(shè)備實例描述
11.3 globalmem設(shè)備驅(qū)動??????? 
11.4 globalmem驅(qū)動的編譯與加載
11.5 globalmem驅(qū)動在用戶空間的驗證
第12章 Linux設(shè)備驅(qū)動中的并發(fā)控制 
12.1并發(fā)控制的概念??????????? 
12.2何時需要并發(fā)控制
12.3自旋鎖??????????????????? 
12.4信號量,mutex
12.5增加并發(fā)控制后的globalmem驅(qū)動
第13章 Linux設(shè)備驅(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 設(shè)備驅(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)絡(luò)設(shè)備驅(qū)動 
16.1 Linux網(wǎng)絡(luò)協(xié)議棧??????????? 
16.2 sk_buff
16.3 Linux網(wǎng)絡(luò)設(shè)備驅(qū)動結(jié)構(gòu)????? 
16.4數(shù)據(jù)發(fā)送流程
16.5數(shù)據(jù)接收流程
第17章 設(shè)備驅(qū)動的分層 
17.1 設(shè)備驅(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設(shè)備驅(qū)動 
20.1 platform驅(qū)動????????????? 
20.2 platform設(shè)備
20.3 platform設(shè)備板級信息
第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ū)維護(hù)
第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、