嵌入式 Linux內(nèi)核開發(fā)培訓(xùn)
嵌入式 Linux內(nèi)核開發(fā)培訓(xùn)????????????
?????????????????
培訓(xùn)對象:對Linux內(nèi)核感興趣,期望從事Linux內(nèi)核和Linux驅(qū)動開發(fā)的工程師。期望從事Android底層開發(fā)的工程師。
???????????????
?????????????????????????
???????????????????????
培訓(xùn)目標(biāo):
??????????????????????? 通過本課程的學(xué)習(xí), 學(xué)員可以學(xué)習(xí)有關(guān)嵌入式Linux內(nèi)核的以下原理和實踐:
?????????????????????????
內(nèi)核發(fā)展演變與開發(fā)模式
?????????????????????????
內(nèi)核進(jìn)程調(diào)度
?????????????????????????
內(nèi)核內(nèi)存管理
?????????????????????????
內(nèi)核文件系統(tǒng)
?????????????????????????
內(nèi)核系統(tǒng)調(diào)用
?????????????????????????
內(nèi)核網(wǎng)絡(luò)協(xié)議棧
?????????????????????????
內(nèi)核編程
?????????????????????????
內(nèi)核模開發(fā)
?????????????????????????
內(nèi)核調(diào)試方法
?????????????????????????
BSP 構(gòu)建
?????????????????????
培訓(xùn)大綱:
?????????????????????????????
Linux 內(nèi)核發(fā)展演變與開發(fā)模式
?????????????????????????????
patch 和郵件列表
?????????????????????????????
官方源代碼演進(jìn)
?????????????????????????????
商業(yè)發(fā)行版版本維護(hù)
?????????????????????????????
源代碼與項目管理工具
?????????????????????????????
內(nèi)核代碼檢查和check-in
?????????????????????????????
Linux 內(nèi)核進(jìn)程調(diào)度
?????????????????????????????
內(nèi)核總體結(jié)構(gòu)
?????????????????????????????
進(jìn)程調(diào)度
?????????????????????????????
Linux 進(jìn)程調(diào)度機(jī)制分析
?????????????????????????????
調(diào)度時機(jī)與搶占調(diào)度
?????????????????????????????
Linux 實時性與實時Linux
?????????????????????????????
Linux 內(nèi)核內(nèi)存管理
?????????????????????????????
Linux 進(jìn)程0~4GB 內(nèi)存的整體分布
?????????????????????????????
進(jìn)程內(nèi)核空間(3GB 以上)內(nèi)存分布
?????????????????????????????
進(jìn)程用戶空間(3GB 以下)內(nèi)存分布
?????????????????????????????
page、zone、slab、kmalloc、vmalloc、mmap
?????????????????????????????
slab
?????????????????????????????
DMA 緩沖區(qū)
?????????????????????????????
page cache
?????????????????????????????
page fault
?????????????????????????????
Linux 內(nèi)核文件系統(tǒng)
?????????????????????????????
虛擬文件系統(tǒng)
?????????????????????????????
磁盤與Flash 文件系統(tǒng)
?????????????????????????????
superblock, inode, dentry 和file
?????????????????????????????
EXT2 和EXT3 文件系統(tǒng)
?????????????????????????????
Flash 文件系統(tǒng)與MTD
?????????????????????????????
Linux 內(nèi)核系統(tǒng)調(diào)用
?????????????????????????????
Linux 系統(tǒng)調(diào)用的工作原理
?????????????????????????????
系統(tǒng)調(diào)用的進(jìn)入和退出
?????????????????????????????
新增一個系統(tǒng)調(diào)用
?????????????????????????????
Linux 內(nèi)核網(wǎng)絡(luò)協(xié)議棧
?????????????????????????????
Linux 網(wǎng)絡(luò)協(xié)議棧的實現(xiàn)原理
?????????????????????????????
Socket 層
?????????????????????????????
系統(tǒng)調(diào)用層面
?????????????????????????????
網(wǎng)卡數(shù)據(jù)收發(fā)流程
?????????????????????????????
Linux 內(nèi)核編程
???????????????????????????????
內(nèi)核編程主要API
???????????????????????????????
同步與并發(fā)
???????????????????????????????
等待隊列
???????????????????????????????
內(nèi)核延時
???????????????????????????????
內(nèi)存申請和釋放
???????????????????????????????
定時器
???????????????????????????????
中斷頂?shù)装氩?
???????????????????????????????
軟中斷
???????????????????????????????
tasklet
???????????????????????????????
工作隊列
???????????????????????????????
threaded_irq
???????????????????????????????
Linux 內(nèi)核線程
???????????????????????????????
IO 與內(nèi)存訪問
???????????????????????????????
DMA 與cache 一致性
?????????????????????????????
Linux 內(nèi)核模塊開發(fā)
?????????????????????????????
內(nèi)核模塊組成
?????????????????????????????
編寫一個內(nèi)核模塊
?????????????????????????????
加載和卸載內(nèi)核模塊
?????????????????????????????
內(nèi)核模塊進(jìn)入文件系統(tǒng)
?????????????????????????????
Linux 內(nèi)核調(diào)試方法
?????????????????????????????
printk
?????????????????????????????
Oops 和panic
?????????????????????????????
內(nèi)核debug 選項
?????????????????????????????
gdb、kgdb 和kdb
?????????????????????????????
使用仿真器
?????????????????????????????
Linux BSP 構(gòu)建
???????????????????????????????
BSP 的組成部分
???????????????????????????????
plat/mach 各組件的實現(xiàn)
???????????????????????????????
內(nèi)核節(jié)拍
???????????????????????????????
中斷管理
???????????????????????????????
時鐘
???????????????????????????????
GPIO
???????????????????????????????
DMA
???????????????????????????????
IO 內(nèi)存映射
???????????????????????????????
設(shè)備與資源
???????????????????????????????
platform device、resource 和plarform data
???????????????????????????????
uart/spi/i2c 等設(shè)備板級resource
???????????????????????????????
device tree
?
?
?
?