热插拔·Camera驱动
📘 30章 完全目录
🔌 动态检测 · V4L2 · 实战
⭐ 点击卡片跳转对应章节
01
Camera驱动基础
V4L2框架
MIPI/DVP/USB
设备树
02
热插拔检测原理
USB/GPIO
udev规则
uevent
03
V4L2核心数据结构
video_device
v4l2_device
vb2_queue
04
设备注册与注销
register/unregister
设备节点
创建
05
中断处理与工作队列
request_irq
tasklet
workqueue
06
udev规则编写
ACTION add/remove
SUBSYSTEM video4linux
自定义
07
uevent内核事件
kobject_uevent
环境变量
通知机制
08
动态设备检测
轮询 vs 中断
sysfs监控
inotify
09
设备树与ACPI
overlay
ACPI热插拔
platform_device
10
USB Camera驱动
usb_driver
probe/disconnect
URB
11
MIPI CSI驱动
subdev
s_stream
pixel rate
12
DVP并行接口
pinctrl
时钟同步
VSYNC/HSYNC
13
电源管理
regulator
时钟门控
PM runtime
14
I2C通信
i2c_client
regmap
地址检测
15
GPIO控制
gpiod_get
中断触发
复位时序
16
视频缓冲队列
vb2_buffer
DMA缓冲区
缓存同步
17
格式协商
enum_fmt/s_fmt
裁剪与缩放
g_fmt
18
控制接口
V4L2_CID_*
用户控件
自动控制
19
多路复用
media controller
Camera切换
框架
20
错误处理
断开恢复
缓冲区超时
重连机制
21
用户空间工具
v4l2-ctl
media-ctl
udevadm
22
测试框架
vivid
热插拔模拟
脚本
23
性能优化
中断合并
DMA延迟
缓存策略
24
安全考虑
访问权限
udev安全
缓冲区溢出
25
调试技巧
printk
tracepoint
ftrace
26
兼容性
内核版本
设备树兼容
ABI变化
27
实战案例1
USB Camera热插拔
驱动开发
完整流程
28
实战案例2
MIPI动态检测
配置与适配
subdev
29
实战案例3
多Camera管理
热插拔切换
media
30
总结与展望
未来趋势
UVC改进
MIPI新标准