01
驱动基础认知
操作系统与硬件关系 · 驱动分类 · 开发环境搭建
字符/块/网络内核编译
02
内核模块编程
模块加载/卸载 · module_init/exit · 参数传递
符号导出依赖
03
字符设备驱动
设备号 · file_operations · cdev · udev/mdev
自动创建设备节点
04
并发与竞态控制
自旋锁 · 互斥锁 · 读写锁 · 原子操作 · RCU
死锁避免
05
中断处理
注册/释放 · 上半部/下半部 · tasklet/workqueue
threaded IRQ共享中断
06
时间管理与内核定时器
jiffies/HZ · 定时器API · hrtimer · 动态Tick
无滴答内核
07
内存管理
alloc_pages/kmalloc/vmalloc · slab · DMA · mmap
内存映射
08
IO通信模型
阻塞/非阻塞 · select/poll/epoll · AIO · 信号驱动
多路复用
09
同步与等待机制
等待队列 · completion · 内核信号量 · mutex
完成量
10
PCI/PCIe设备驱动
配置空间 · BAR映射 · DMA · MSI/MSI-X · 热插拔
PCIe
11
USB设备驱动
USB子系统 · urb · 端点类型 · Gadget框架
传输方式
12
平台设备驱动
platform_driver/device · 设备树解析 · 匹配探测
Device Tree
13
I2C/SPI总线驱动
核心层 · 适配器 · SPI消息队列 · 设备树配置
I2CSPI
14
块设备驱动
请求队列 · bio · IO调度器 · NVMe浅析
CFQ/Deadline
15
网络设备驱动
net_device · NAPI · sk_buff · 多队列RSS/RPS
XPS
16
帧缓冲与显示驱动
framebuffer · DRM/KMS · 显示控制器 · GPU基础
TTM/GEM
17
音频设备驱动
ALSA架构 · PCM · DMA音频 · ASoC框架
片上系统
18
电源管理
Suspend/Resume · Runtime PM · CPUFreq/DevFreq
电压调节
19
设备树详解
dts/dtsi语法 · 绑定文档 · 中断/GPIO · overlay
描述
20
驱动调试技术
printk · ftrace · kprobe/uprobe · kgdb · crash dump
动态调试
21
性能分析工具
perf · 火焰图 · ioping · latencytop · lock_stat
计数器
22
系统启动优化
U-Boot · 内核裁剪 · initramfs · systemd并行
bootloader
23
内存优化
swap/zram · 碎片整理 · 透明大页 · OOM Killer
THP
24
CPU调度优化
CFS调参 · 实时调度RT · taskset/cgroup · isolcpus
亲和性
25
IO性能调优
IO调度器 · 队列深度 · 挂载参数 · RAID/LVM缓存
noatime
26
网络性能调优
TCP参数 · Ring Buffer · RPS/RFS · 巨型帧
Jumbo Frame
27
文件系统优化
ext4/xfs/btrfs · 日志模式 · 预读回写
目录索引
28
容器与虚拟化优化
overlay2 · cgroup · KVM透传 · virtio优化
Docker
29
实时系统调优
PREEMPT_RT · 中断线程化 · 高精度定时器 · 优先级继承
实时化
30
综合实战案例
嵌入式设备适配全流程 · 服务器调优案例 (性能提升30%)
硬件手册瓶颈分析