首页
›
嵌入式与底层系统
›
014-Linux V4L2与Camera驱动工程
›
《V4L2驱动中DMA缓冲区与videobuf2接口对接工程》
VIP22
本课程属于:014-Linux V4L2与Camera驱动工程
嵌入式与底层系统 · 共 22 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
V4L2驱动中DMA缓冲区与videobuf2接口对接
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
V4L2框架概述
V4L2架构 · 核心数据结构 · 驱动注册流程
V4L2
框架概述
02
videobuf2核心概念
vb2_queue · vb2_buffer · 内存类型(V4L2_MEMORY_M…
videobuf2
核心概念
03
DMA缓冲区基础
DMA一致性映射 · 流式映射 · DMA地址与CPU虚拟地址
DMA
缓冲区基础
04
vb2核心回调函数
queue_setup · buf_prepare · buf_queue
vb2
核心回调函数
05
vb2_ops结构体详解
每个回调的作用 · 调用时机 · 典型实现模式
vb2
ops
06
分配DMA缓冲区
dma_alloc_coherent…
DMA
分配
07
DMA流式映射
dma_map_single · dma_map_sg · dma_unmap_single
DMA
流式映射
08
vb2_dma_contig内存分配器
dma_contig_ops · 分配与释放流程
vb2
dma
09
vb2_dma_sg内存分配器
dma_sg_ops · 分散/聚集DMA缓冲区管理
vb2
dma
10
vb2_vmalloc内存分配器
vmalloc_ops · 适用于非DMA场景
vb2
vmalloc
11
自定义内存分配器
实现vb2_mem_ops结构体 · 注册自定义分配器
自定义内存分配器
vb2
12
vb2_buffer状态机
VB2_BUF_STATE_DEQU… · PREPARED · QUEUED
vb2
buffer
13
DMA缓冲区与硬件交互
硬件描述符 · DMA引擎触发 · 中断处理
DMA
缓冲区
14
中断处理与vb2_buffer_done
中断服务程序 · 完成回调 · 状态传递
vb2
buffer
15
流式I/O启动与停止
start_streaming分配硬… · stop_streaming释放资源
I/O
流式
16
缓冲区队列管理
vb2_buffer队列 · FIFO顺序 · 超时处理
缓冲区队列管理
vb2
17
MMAP内存映射
用户空间mmap · videobuf2 mmap回调 · 页表建立
MMAP
内存映射
18
USERPTR用户指针
用户空间传入缓冲区 · pin_user_pages · DMA映射
USERPTR
用户指针
19
DMABUF导入导出
dma_buf文件描述符 · 跨设备共享 · 零拷贝
DMABUF
导入导出
20
vb2_ioctl_*辅助函数
vb2_ioctl_reqbufs · vb2_ioctl_qbuf · vb2_ioctl_dqbuf
vb2
ioctl
21
vb2_poll与vb2_mmap
poll等待机制 · mmap实现细节
vb2
poll
22
DMA缓冲区生命周期
从分配 · 映射 · 入队
DMA
缓冲区生命周期
23
调试与性能优化
dma-debug · perf分析 · 缓存一致性维护
调试
性能优化
24
多平面格式支持
V4L2多平面API · vb2_plane结构体 · DMA映射多平面
多平面格式支持
V4L2
25
vb2_queue_init与vb2_queue_release
队列初始化与清理
vb2
queue
26
DMA缓冲区对齐与大小约束
硬件对齐要求 · stride计算 · 填充字节
DMA
缓冲区对齐
27
错误处理与恢复
DMA映射失败 · 缓冲区溢出 · 硬件超时
错误处理
恢复
28
与V4L2子设备协同
subdev与video devic…
V4L2
子设备协同
29
实际驱动案例分析
基于videobuf2的摄像头驱动代…
实际驱动案例分析
videobuf2
30
课程总结与进阶方向
DMA引擎 · ION内存管理器 · V4L2未来演进
课程总结
进阶方向
所属VIP或分类
同VIP:camera-sensor初始化与MIPI-CSI配置调试
同VIP:Linux-V4L2摄像头驱动-丢帧问题排查与延迟调优
同VIP:Linux-V4L2摄像头驱动项目实战工程