Ubuntu、交叉编译链、内核源码获取与编译、第一个驱动模块 (Hello World) 的编译与加载。
进入章节 →
设备号概念、动态/静态分配、cdev、file_operations、实现 open/read/write/close。
进入章节 →
udev自动创建设备节点、class_create/device_create、设备树基础、在设备树中描述摄像头。
进入章节 →
I2C协议时序、Linux I2C子系统架构、适配器与设备驱动、使用 i2c-dev 操作摄像头寄存器。
进入章节 →
SPI协议时序、Linux SPI子系统架构、SPI设备驱动编写、SPI设备树配置。
进入章节 →
MIPI CSI-2物理层与协议层、D-PHY/C-PHY、Linux下接收驱动框架 (subdev/sensor)。
进入章节 →
V4L2是什么、设备节点 /dev/videoX、核心数据结构 (video_device/v4l2_device/subdev)。
进入章节 →
V4L2 ioctl调用流程、QUERYCAP/ENUM_FMT/S_FMT/REQBUFS/QBUF/DQBUF/STREAMON/OFF。
进入章节 →
Sensor上电时序与初始化序列、I2C配置寄存器、实现V4L2 subdev的core ops与pad ops。
进入章节 →
实现 s_parm/g_parm 设置帧率、enum_frame_size/enum_frame_interval、set_fmt/get_fmt。
进入章节 →
以OV5640为例编写完整Sensor驱动、调试技巧 (dev_dbg/trace)。
进入章节 →
DMA原理与Scatter-Gather、Linux DMA Engine API (dma_request_chan/prep_slave_sg)、集成DMA。
进入章节 →
Videobuf2框架详解、vb2_queue_init、vb2_ops (queue_setup/buf_prepare/buf_queue/start/stop)。
进入章节 →
解析CSI-2接收控制器寄存器手册、编写驱动、与Sensor subdev绑定。
进入章节 →
ISP基本模块 (BLC/AWB/Demosaic/CCM/Gamma)、Linux Media Controller框架。
进入章节 →
使用Media Controller创建pipeline、实现link与路由、用户空间配置pipeline。
进入章节 →
LCD/HDMI显示驱动基础、Framebuffer与DRM/KMS、将摄像头数据送到显示设备。
进入章节 →
TCP/UDP Socket编程回顾、应用层视频流传输、JPEG/H.264编码基础。
进入章节 →
硬件编码器驱动框架、V4L2 M2M设备、实现 ENCODE_FMT/ENCODE_PARAMS。
进入章节 →
多线程架构 (采集/编码/发送)、环形缓冲区、使用libjpeg软件编码。
进入章节 →
RTSP协议解析、RTP/RTCP封装、简易RTSP服务器、VLC/FFplay播放。
进入章节 →
HTTP协议基础、MJPEG over HTTP实现、浏览器直接查看摄像头画面。
进入章节 →
printk/动态调试、ftrace跟踪驱动函数、perf分析性能瓶颈。
进入章节 →
内存泄漏检测 (KASAN/SLAB)、死锁检测 (Lockdep)、中断延迟优化。
进入章节 →
Runtime PM框架、suspend/resume回调、摄像头低功耗模式、功耗测量。
进入章节 →
设备树语法 (节点/属性/中断/GPIO)、绑定文档、overlay与动态设备树。
进入章节 →
硬件同步信号 (FSIN/VSYNC)、软件时间戳对齐、多摄像头驱动架构设计。
进入章节 →
TLS/SSL传输加密、摄像头数据加密存储、安全启动与驱动签名。
进入章节 →
驱动自动化测试 (kselftest)、压力测试、长时间稳定性、EMC/EMI考虑。
进入章节 →
需求分析、硬件选型、驱动开发、应用开发、系统集成、性能调优、交付文档。
进入章节 →