📷 Camera驱动中断
实时性设计
⚡ 30章 · 从入门到实战
01
Camera驱动概述
MIPI/DVP/USB接口 · V4L2框架 · 驱动位置
02
中断基础概念
中断向量表 · 优先级 · 嵌套 · Linux中断号
03
Camera中断类型
VSYNC/HSYNC/PCLK · 错误中断
04
中断注册与注销
request_irq · devm_request_irq · free_irq
05
中断处理函数编写
顶半部/底半部 · 快速与慢速处理
06
顶半部设计
最小化执行 · 原子操作 · 中断使能
07
底半部机制
Tasklet · Workqueue · Threaded IRQ
08
Tasklet详解
初始化 · 调度 · 与中断配合
09
Workqueue详解
创建工作项 · 同步 · 自定义Workqueue
10
Threaded IRQ
request_threaded_irq · 实时性优势
11
中断上下文与进程上下文
限制 · 休眠问题 · 可调用函数
12
中断共享
共享注册 · 设备识别 · 注意事项
13
中断丢失问题
FIFO与缓冲 · 中断合并
14
实时性需求分析
帧率 · 延迟容忍度 · 中断频率
15
实时性设计策略
优先级反转 · CPU亲和性 · 负载均衡
16
中断延迟测量
ftrace · printk时间戳 · 优化目标
17
hrtimer高精度定时器
初始化 · 回调 · 精确时序控制
18
DMA与中断协同
DMA完成中断 · Scatter-Gather · 环形缓冲
19
帧同步与缓冲队列
V4L2缓冲队列 · 帧丢失检测
20
错误处理与恢复
I2C/CRC错误 · 硬件复位 · 错误统计
21
电源管理中断
休眠唤醒 · Autosleep · 中断唤醒
22
多Camera同步中断
帧同步 · 硬件触发 · 时间戳对齐
23
中断与内核锁
自旋锁 · 中断屏蔽 · 死锁预防
24
中断与RCU
RCU在中断中 · 宽限期 · 与锁对比
25
中断调试技巧
/proc/interrupts · softirqs · 动态调试
26
性能优化
中断节流 · 批量处理 · 零拷贝 · 预取
27
RTOS中断设计
FreeRTOS · 优先级配置 · Linux对比
28
实战:IMX219驱动
硬件初始化 · 中断注册 · 帧采集 · 调优
29
实战:OV5640驱动
MIPI中断 · 错误恢复 · 实时性优化
30
总结与展望
常见陷阱 · ISP/AI加速 · 学习路径