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