首页
›
Linux内核与驱动
›
155-Linux内核驱动开发
›
《Linux驱动DMA缓冲管理与映射一致性调试》
VIP10
本课程属于:155-Linux内核驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动DMA缓冲管理与映射一致性调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
DMA基础概念
DMA工作原理 · DMA与CPU的交互 · DMA传输类型(内存到内存
DMA
基础概念
02
Linux DMA子系统概述
DMA引擎架构 · dmaengine框架 · dma_slave_config结构…
Linux
DMA
03
DMA缓冲区分配概述
一致性DMA映射与流式DMA映射的区… · 分配时机与生命周期
DMA
缓冲区分配概述
04
一致性DMA映射(Coherent DMA)
dma_alloc_coherent… · 返回的虚拟地址与物理地址 · 内存属性(非缓存
DMA
Coherent
05
dma_alloc_coherent()源码分析
底层实现路径(通用层 · 架构相关层) · 对ioremap/page allo…
dma
alloc
06
一致性DMA映射释放
dma_free_coherent(… · 注意事项(内存泄漏 · 设备状态)
DMA
一致性
07
流式DMA映射(Streaming DMA)
dma_map_single()与d… · dma_map_page()与dma…
DMA
Streaming
08
流式DMA映射方向
DMA_TO_DEVICE · DMA_FROM_DEVICE · DMA_BIDIRECTIONAL
DMA
流式
09
流式DMA映射同步
dma_sync_single_fo… · dma_sync_sg_for_cp… · dma_sync_sg_for_de…
DMA
流式
10
SG列表(Scatter-Gather)DMA映射
dma_map_sg()与dma_u… · sg_dma_address()与s…
SG
Scatter-Gath…
11
DMA池(DMA Pool)
dma_pool_create() · dma_pool_alloc() · dma_pool_free()
DMA
Pool
12
DMA缓冲区与IOMMU/SMMU
IOMMU的作用 · 通过IOMMU实现DMA地址转换 · dma_iommu_mapping
DMA
IOMMU/SMMU
13
DMA API与设备树
设备树中dma-ranges属性 · dma-coherent属性 · 驱动中读取DMA配置
DMA
API
14
DMA掩码(DMA Mask)
dma_set_mask()与dma… · 64位与32位地址支持 · dma_supported()
DMA
Mask
15
DMA缓冲区与Cache一致性
硬件一致性(CCI/ACE) · 软件维护(flush/invalid… · dma_alloc_attrs()中…
DMA
Cache
16
dma_alloc_attrs()与dma_attrs
DMA_ATTR_WRITE_COM… · DMA_ATTR_NO_KERNEL… · DMA_ATTR_SKIP_CPU_…
dma
alloc
17
DMA缓冲区与内存碎片
连续内存分配器(CMA)原理 · cma_alloc()与cma_re… · 内核参数cma=
DMA
缓冲区
18
DMA缓冲区与Vmalloc
vmalloc区域用于DMA的局限性 · dma_alloc_coherent…
DMA
Vmalloc
19
DMA缓冲区与kmalloc
kmalloc分配DMA缓冲区的限制… · 连续性) · dma_alloc_coherent…
DMA
kmalloc
20
DMA缓冲区与用户空间
dma_mmap_coherent(… · dma_get_sgtable() · 用户态通过mmap访问DMA缓冲区
DMA
缓冲区
21
DMA缓冲区与文件操作
驱动中实现mmap文件操作 · 将DMA缓冲区导出到用户空间
DMA
缓冲区
22
DMA缓冲区与网络子系统
NAPI与DMA · skb与DMA映射 · 网络驱动的DMA缓冲区管理(环形缓冲…
DMA
缓冲区
23
DMA缓冲区与块设备子系统
块设备请求队列与DMA · bio与DMA映射 · NVMe驱动的DMA实现
DMA
缓冲区
24
DMA缓冲区与音频子系统
ALSA驱动中的DMA缓冲区 · dma_alloc_coherent… · 周期中断与DMA
DMA
缓冲区
25
DMA缓冲区与视频子系统
V4L2驱动中的DMA缓冲区 · videobuf2框架 · dma_contiguous_all…
DMA
缓冲区
26
DMA缓冲区调试
dma-debug内核选项 · 常见错误(双重映射 · 泄漏
DMA
缓冲区调试
27
DMA缓冲区性能优化
预分配与池化 · 使用连续内存 · 减少同步开销
DMA
缓冲区性能优化
28
DMA缓冲区与原子上下文
在中断上下文分配DMA缓冲区 · GFP_ATOMIC标志 · dma_pool_alloc()的原…
DMA
缓冲区
29
DMA缓冲区与多核/多队列
per-CPU DMA缓冲区 · 多队列网卡(MQRX)的DMA映射 · NUMA感知分配
DMA
缓冲区
30
DMA缓冲区分配实战案例
编写一个简单的字符设备驱动 · 使用dma_alloc_cohere… · 实现read/write/mmap操…
DMA
缓冲区分配实战案…
所属VIP或分类
同VIP:ioctl接口实战:Linux内核驱动自定义命令实现
同VIP:Linux内核驱动开发实战50例
同VIP:Linux内核驱动开发实战:从字符设备到设备树