班級規(guī)模及環(huán)境--熱線:4008699035 手機:15921673576( 微信同號) |
每期人數(shù)限3到5人。 |
上課時間和地點 |
上課地點:【上海】:同濟大學(xué)(滬西)/新城金郡商務(wù)樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學(xué)成教院 【北京分部】:北京中山學(xué)院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領(lǐng)館區(qū)1號(中和大道) 【沈陽分部】:沈陽理工大學(xué)/六宅臻品 【鄭州分部】:鄭州大學(xué)/錦華大廈 【石家莊分部】:河北科技大學(xué)/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協(xié)同大廈
最近開課時間(周末班/連續(xù)班/晚班):2020年3月16日 |
實驗設(shè)備 |
☆資深工程師授課
☆注重質(zhì)量
☆邊講邊練
☆合格學(xué)員免費推薦工作
★實驗設(shè)備請點擊這兒查看★ |
質(zhì)量保障 |
1、培訓(xùn)過程中,如有部分內(nèi)容理解不透或消化不好,可免費在以后培訓(xùn)班中重聽;
2、培訓(xùn)結(jié)束后,授課老師留給學(xué)員聯(lián)系方式,保障培訓(xùn)效果,免費提供課后技術(shù)支持。
3、培訓(xùn)合格學(xué)員可享受免費推薦就業(yè)機會。 |
課程大綱 |
|
- 嵌入式linux內(nèi)核、驅(qū)動開發(fā)、性能優(yōu)化培訓(xùn)
嵌入式linux內(nèi)核、驅(qū)動開發(fā)、性能優(yōu)化培訓(xùn)
- 嵌入式Linux簡介
?
Linux的特點、版本演進與發(fā)展方向
?
嵌入式Linux系統(tǒng)組成
?
開發(fā)環(huán)境構(gòu)建
?
安裝設(shè)置ARM工具鏈
?
安裝設(shè)置NFS、SSH、TFTP服務(wù)
?
GNU工具鏈和GDB調(diào)試
嵌入式Linux構(gòu)建與啟動過程分析
?
文件系統(tǒng)組成
?
Busybox編譯與配置
?
加入C庫
?
Linux啟動過程
?
Bootloader
?
內(nèi)核啟動過程
?
用戶空間init
?
嵌入式Linux裁剪
?
內(nèi)核Kconfig和Makefile
?
內(nèi)核源代碼目錄
?
內(nèi)核裁剪
?
文件系統(tǒng)裁剪
Linux內(nèi)核進程調(diào)度
?
task_struct
?
進程調(diào)度算法
?
進程調(diào)度時機
?
實時性
Linux內(nèi)核內(nèi)存管理
?
mm_struct,?vma
?
buddy系統(tǒng)
?
slab、kmalloc
?
DMA、NORMAL、HIGHMEM?ZONE
?
靜態(tài)內(nèi)存映射
?
連續(xù)內(nèi)存管理,CMA
Linux內(nèi)核文件系統(tǒng)
?
虛擬文件系統(tǒng)
?
inode、dentry、superblock
?
文件系統(tǒng)與block層
?
Flash文件系統(tǒng)
Linux?內(nèi)核系統(tǒng)調(diào)用
?
Linux系統(tǒng)調(diào)用實現(xiàn)原理
?
Linux系統(tǒng)調(diào)用實現(xiàn)
?
增加一個新的系統(tǒng)調(diào)用
內(nèi)核編程主要API
?
同步與并發(fā)
?
等待隊列
?
內(nèi)核延時
?
內(nèi)存申請和釋放
?
定時器
?
中斷頂?shù)装氩?br>
?
軟中斷
?
tasklet
?
工作隊列
?
threaded_irq
?
Linux內(nèi)核線程
?
IO與內(nèi)存訪問
?
DMA與cache一致性
Linux內(nèi)核模塊
?
內(nèi)核模塊init和exit
?
輸入?yún)?shù)
?
輸出參數(shù)
?
案例部分:4個試驗案例演示模塊各個功能
Linux內(nèi)核調(diào)試方法
?
printk
?
Oops和panic
?
內(nèi)核debug選項
?
gdb、kgdb和kdb
?
使用仿真器
Linux設(shè)備驅(qū)動模型
?
Linux設(shè)備分類
?
Sys,總線,設(shè)備和驅(qū)動
?
熱插拔
?
電源管理
?
udev
Linux字符設(shè)備驅(qū)動結(jié)構(gòu)
?
Linux字符設(shè)備驅(qū)動結(jié)構(gòu)
?
globalmem虛擬設(shè)備實例描述
?
globalmem設(shè)備驅(qū)動
?
globalmem驅(qū)動的編譯與加載
?
globalmem驅(qū)動在用戶空間的驗證
Linux設(shè)備驅(qū)動中的并發(fā)控制
?
并發(fā)控制的概念
?
何時需要并發(fā)控制
?
自旋鎖
?
信號量,mutex
?
增加并發(fā)控制后的globalmem驅(qū)動
Linux設(shè)備驅(qū)動中的阻塞與非阻塞I/O
?
阻塞與非阻塞I/O
?
poll操作的概念
?
何時需要poll操作
?
等待隊列waitqueues
?
Linux?poll操作相關(guān)數(shù)據(jù)結(jié)構(gòu)與函數(shù)
?
支持poll操作的globalmem驅(qū)動
Linux?設(shè)備驅(qū)動中的異步通知
?
異步通知的概念
?
何時需要異步通知
?
Linux異步通知相關(guān)數(shù)據(jù)結(jié)構(gòu)與函數(shù)
?
支持異步通知的globalmem驅(qū)動
?
在globalmem驅(qū)動中增加異步通知
?
在用戶空間驗證globalmem的異步通知
Linux?MTD子系統(tǒng)與FLASH驅(qū)動
?
Linux?MTD子系統(tǒng)結(jié)構(gòu)
?
NOR?FLASH驅(qū)動
?
NAND?FLASH驅(qū)動
?
FLASH文件系統(tǒng):JFFS2/YAFFS2/UBI
Linux?網(wǎng)絡(luò)設(shè)備驅(qū)動
?
Linux網(wǎng)絡(luò)協(xié)議棧
?
sk_buff
?
Linux網(wǎng)絡(luò)設(shè)備驅(qū)動結(jié)構(gòu)
?
數(shù)據(jù)發(fā)送流程
?
數(shù)據(jù)接收流程
設(shè)備驅(qū)動的分層
?
設(shè)備驅(qū)動分層框架
?
實例1:input子系統(tǒng)
?
實例2:LCD子系統(tǒng)
I2C驅(qū)動
?
I2C主機驅(qū)動
?
I2C?client驅(qū)動
?
I2C驅(qū)動電源管理
?
I2C板文件信息
SPI驅(qū)動
?
SPI主機驅(qū)動
?
SPI?client驅(qū)動
?
SPI驅(qū)動電源管理
?
SPI板文件信息
platform設(shè)備驅(qū)動
?
platform驅(qū)動
?
platform設(shè)備
?
platform設(shè)備板級信息
將Linux移植到一個新的ARM?SoC
?
early_printk
?
L2?cache
?
OS?timer
?
clk?tree
?
GPIO
?
pinmux
?
IRQ?chip
?
DMA
?
MACH_INIT
?
device?tree
?
社區(qū)維護
Linux調(diào)試與性能優(yōu)化
?
strace
?
core?dump
?
gdb與多線程
?
常用工具
?
性能優(yōu)化:?oprofile,?LTTng,?gprof
?
開機速度:?bootchart
?
功耗:powertop
?
延遲:latencytop
?
內(nèi)存分析:?procmem、procrank、smem
?
top,?iostat,?netstat等
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
"
|