📷 V4L2驱动开发
30章 · 从入门到实战
⚡ 友好色系
🎨
01
V4L2框架概述
V4L2是什么
Linux系统位置
与Camera驱动关系
02
Camera硬件基础
模组组成
MIPI CSI-2
I2C控制总线
03
V4L2核心数据结构
video_device
v4l2_device
v4l2_subdev
04
V4L2设备注册与注销
video_register_device
注销/节点创建
05
V4L2文件操作接口
v4l2_fops
open/release/ioctl/mmap
06
V4L2 ioctl命令集
QUERYCAP
ENUM_FMT
S_FMT
REQBUFS
07
Video Buffer管理
v4l2_buffer
MMAP/USERPTR/DMABUF
队列
08
V4L2 Subdev框架
subdev初始化
操作函数
pad与路由
09
Sensor驱动开发
初始化序列
寄存器读写
曝光/增益
10
MIPI CSI-2接收端驱动
D-PHY配置
LP/HS模式
数据包解析
11
ISP驱动开发基础
ISP pipeline
3A算法接口
色彩处理
12
V4L2 Control框架
v4l2_ctrl_handler
标准/自定义控制
事件
13
Video节点与Subdev交互
media controller
entity/link
14
DMA Buffer共享
dma_buf
ion allocator
v4l2_buffer绑定
15
中断与同步
中断处理
等待队列
completion
16
电源管理
Runtime PM
上电时序
时钟控制
17
设备树配置
Camera节点
pinctrl
时钟/复位
18
调试与测试
v4l2-ctl
trace event
printk
19
性能优化
帧率控制
内存拷贝优化
零拷贝
20
多Camera同步
硬件同步
时间戳对齐
多路复用
21
热插拔支持
udev规则
动态注册
用户通知
22
安全与权限
设备文件权限
SELinux
内存隔离
23
兼容性处理
sensor适配
分辨率/帧率切换
24
V4L2 Event机制
v4l2_event
订阅/通知
错误上报
25
用户空间API封装
libv4l2
Android HAL
GStreamer
26
常见问题排查
无数据/花屏
帧率不稳
ioctl失败
27
V4L2与DRM/KMS集成
显示同步
overlay合成
GPU共享buffer
28
V4L2新特性
M2M设备
stateless codec
request API
29
案例分析
OV sensor驱动
MTK平台调试
30
未来趋势
AI加速器
CXL接口
开源ISP