首页
›
Linux内核与驱动
›
075-Linux内核Camera子系统
›
《V4L2视频缓冲队列开发与DMA内存管理》
VIP10
本课程属于:075-Linux内核Camera子系统
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
V4L2视频缓冲队列开发与DMA内存管理
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
DMA基础概念
DMA工作原理 · DMA控制器 · DMA传输模式
DMA
基础概念
02
Linux DMA API概览
dma_alloc_coherent · dma_map_single · dma_map_sg
Linux
DMA
03
一致性DMA映射
dma_alloc_coherent… · 一致性内存特点 · 使用场景与限制
DMA
一致性
04
流式DMA映射
dma_map_single/dma… · dma_map_sg/dma_unm… · dma_sync_single_fo…
DMA
流式
05
DMA池(dma_pool)
dma_pool_create/dm… · dma_pool_free/dma_… · 适用小尺寸频繁分配场景
DMA
pool
06
DMA地址与物理地址转换
dma_to_phys · phys_to_dma · IOMMU/SMMU对DMA地址的影…
DMA
地址
07
DMA掩码与寻址能力
dma_set_mask/dma_s… · 64位与32位寻址 · ZONE_DMA
DMA
掩码
08
DMA缓冲区分配实战
使用dma_alloc_cohere… · 错误处理 · 内存释放
DMA
缓冲区分配实战
09
SG表(Scatter-Gather)分配
sg_alloc_table/sg_… · sg_set_buf · SG表与DMA映射
SG
Scatter-Gath…
10
DMA缓冲区与MMAP
dma_mmap_coherent · 用户空间映射DMA缓冲区 · cache一致性维护
DMA
MMAP
11
V4L2框架简介
V4L2架构 · video_device · v4l2_device
V4L2
框架简介
12
videobuf2核心数据结构
vb2_queue · vb2_buffer · vb2_plane
videobuf2
核心数据结构
13
videobuf2内存操作接口
vb2_mem_ops结构体 · alloc/put/get_user… · mmap/unmap
videobuf2
内存操作接口
14
videobuf2队列初始化
vb2_queue_init · 填充vb2_queue结构体 · 设置内存类型(V4L2_MEMORY…
videobuf2
队列初始化
15
videobuf2缓冲区申请
vb2_reqbufs · 内部调用mem_ops->alloc · 缓冲区数量与大小协商
videobuf2
缓冲区申请
16
videobuf2缓冲区入队
QBUF操作 · vb2_qbuf · 缓冲区状态转换(DEQUEUED->…
videobuf2
缓冲区入队
17
videobuf2缓冲区出队
DQBUG操作 · vb2_dqbuf · 缓冲区状态转换(QUEUED->DE…
videobuf2
缓冲区出队
18
videobuf2流控制
STREAMON/STREAMOFF · vb2_streamon/vb2_s… · start_streaming/st…
videobuf2
流控制
19
videobuf2与DMA集成
vb2_dma_contig_mem… · vb2_dma_sg_memops · vb2_vmalloc_memops
videobuf2
DMA
20
DMA连续内存videobuf2实现
vb2_dma_contig_all… · dma_buf导出
DMA
videobuf2
21
DMA SG内存videobuf2实现
vb2_dma_sg_alloc/v… · SG表构建与映射
DMA
SG
22
DMABUF内存类型
V4L2_MEMORY_DMABUF · dma_buf导入/导出 · 跨驱动共享DMA缓冲区
DMABUF
内存类型
23
videobuf2队列与DMA映射实战
在start_streaming中映… · 在stop_streaming中取消…
videobuf2
DMA
24
Cache一致性处理
dma_sync_single_fo… · 在videobuf2回调中正确使用
Cache
一致性处理
25
多平面(Plane)缓冲区处理
V4L2多平面API · vb2_plane结构体 · 每个平面独立DMA映射
Plane
多平面
26
videobuf2调试技巧
使用tracepoints · vb2_queue状态打印 · dma-debug工具
videobuf2
调试技巧
27
性能优化
预分配DMA池 · 避免频繁映射/取消映射 · 使用SG减少碎片
性能优化
DMA
28
案例分析
摄像头驱动中的DMA缓冲区分配与vi…
案例分析
DMA
29
案例分析
硬件编码器驱动中的DMA缓冲区管理 · 多队列协同 · DMABUF导出
案例分析
DMA
30
总结与最佳实践
DMA缓冲区分配策略选择 · videobuf2内存模型对比 · 常见陷阱与解决方案
最佳实践
DMA
所属VIP或分类
同VIP:camera-HAL-buffer管理到驱动对接调试
同VIP:Camera-HAL与V4L2接口适配及兼容性验证
同VIP:camera-HAL参数传递与metadata扩展配置