课程导论与硬件基础
系统架构CMOS/CCDMIPI CSI-2DVP/LVDS模组选型
开发环境搭建
交叉编译链内核源码树i2c-toolsspidev逻辑分析仪
传感器上电时序与初始化
Datasheet解读Power-up Sequence硬件/软件复位PLL与时钟树
I2C/SPI寄存器读写驱动
I2C子系统probe/removeSPI设备驱动寄存器封装
MIPI CSI-2协议详解
MIPI联盟D-PHY电气长包/短包ECC/CRC虚拟通道
V4L2框架入门
video_devicev4l2_subdevMedia ControllerSubdev注册
Sensor驱动核心结构体实现
v4l2_subdev_opsv4l2_ctrl_handlermedia_entity_ops
图像数据流控制
s_stream回调VSYNC/HSYNC虚拟通道分发帧率/丢帧
曝光与增益控制
Rolling/Global Shutter模拟/数字增益AE算法手动曝光
白平衡与色彩处理
色温/色彩空间RGB增益AWB算法CCM配置
帧率与分辨率切换
PLL重配置Stream Off/OnCrop/Scaling
测试模式与调试
Color BarV4L2测试图案DebugFStracepoint
电源管理
Suspend/ResumeRuntime PM低功耗模式时序优化
同步与多摄像头
硬件Trigger软件同步帧同步误差双摄架构
设备树配置
Sensor节点reg/clocksreset-gpiosD-PHY参数
中断处理与事件机制
帧结束中断Linux中断注册V4L2_EVENT_FRAME_SYNC
DMA与Buffer管理
Videobuf2DMA引擎QBUF/DQBUFCache一致性
性能优化
中断合并/轮询批量读写MIPI链路调优CPU负载
稳定性与异常处理
I2C超时重试MIPI失锁恢复Sensor hang错误注入
用户空间接口
ioctl扩展sysfs属性libcameragstreamer
驱动调试与日志
dynamic_debugprintk级别ftracekdump
兼容性与多平台移植
内核版本适配Rockchip/Allwinner/NXPACPI/设备树
安全与权限控制
内核权限IOMMU/MPU安全启动寄存器保护
固件升级
固件更新流程I2C/SPI烧录版本校验/回滚
HDR与宽动态
DOL/Staggered多曝光合成增益/帧率限制
LED与闪光灯控制
闪光灯同步Pre-flash/Main-flashLED驱动芯片
自动化测试
v4l2-compliancePython脚本压力测试长时间稳定性
项目实战
OV5640/IMX219完整驱动ISP Pipeline性能验收