📸 2025 · 实战体系

从驱动到HAL
Camera 数据通路构建实战

📘 30 章 · 从传感器到 HAL 完整链路
📁 30 个模块 · 源码级实战
01
从手机拍照到数据流,理解Camera整体架构。
02
MIPI CSI-2协议详解,D-PHY物理层时序。
03
Sensor驱动核心⚙️ I2C/SPI
I2C/SPI控制接口,寄存器读写实战。
04
Video for Linux 2,设备节点与ioctl。
05
使用v4l2_subdev,实现probe/remove。
06
图像数据采集⏱️ 同步
帧同步、VSYNC/HSYNC信号处理。
07
D-PHY初始化,LP/HS模式切换。
08
数据格式配置🎞️ RAW/YUV
RAW10/RAW12,JPEG,YUV格式协商。
09
Sensor时钟树,AVDD/IOVDD/DVDD上电时序。
10
AE/AGC算法接口,寄存器映射。
11
AWB算法,色彩校正矩阵(CCM)。
12
ISP Pipeline🖼️ 图像处理
坏点校正、去噪、锐化、Gamma校正。
13
3A统计(AE/AWB/AF)数据上报。
14
帧率控制⏩ VTS/HTS
VTS/HTS调整,帧率计算公式。
15
多摄像头同步📸📸 同步
硬件同步信号,软件时间戳对齐。
16
Camera HAL架构🏗️ HAL3/1
HAL3 vs HAL1,核心接口对比。
17
HAL设备初始化🚀 open/close
open()、close()、getCameraInfo()。
18
Stream配置📦 BufferQueue
configureStreams(),BufferQueue管理。
19
Request与Result📩 回调
processCaptureRequest(),回调机制。
20
Buffer管理🧠 DMA-BUF
Gralloc分配,DMA-BUF,ION内存。
21
Metadata系统🏷️ Tag
CameraMetadata,Tag定义与传递。
22
3A集成到HAL🎯 状态机
AE/AWB/AF状态机,HAL回调。
23
打印关键节点,使用traceview。
24
性能优化⚡ 零拷贝
减少拷贝,零拷贝技术,GPU/VPU加速。
25
功耗优化🔋 动态帧率
Sensor standby,时钟门控,动态帧率。
26
异常处理⚠️ 超时恢复
Sensor hang检测,超时恢复,错误上报。
27
兼容性测试🧪 CTS/ITS
CTS/ITS测试项,常见失败原因。
28
驱动与HAL联调🔗 完整链路
从ioctl到HAL callback的完整链路。
29
移植一款新Sensor到Android平台。
30
课程总结🧭 进阶路径
知识图谱,进阶学习路径推荐。