
曙海教學(xué)優(yōu)勢
面向企事業(yè)單位的項目實際需要,本課程以項目實現(xiàn)為導(dǎo)向,秉承二十一年教學(xué)品質(zhì),授課老師將會與您分享設(shè)計的全流程以及工具的綜合使用技巧以及經(jīng)驗。您可以定制課程,線上/線下/上門都可以,報名熱線:4008699035。
二十多年來,曙海培訓(xùn)的課程培養(yǎng)了大批受歡迎的工程師。曙海的課程在業(yè)內(nèi)廣受好評。大批企事業(yè)單位和曙海
建立了良好的合作關(guān)系,合作企業(yè)30萬+。
嵌入式linux內(nèi)核、驅(qū)動開發(fā)、性能優(yōu)化培訓(xùn)課程
嵌入式Linux簡介
?Linux的特點、版本演進(jìn)與發(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)核進(jìn)程調(diào)度
?task_struct
?進(jìn)程調(diào)度算法
?進(jìn)程調(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ù)装氩?/span>
?軟中斷
?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ū)維護(hù)
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等