首页
›
Linux内核与驱动
›
046-PCIe设备驱动开发
›
《PCIe驱动数据搬运优化与DMA编程工程案例》
VIP10
本课程属于:046-PCIe设备驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
PCIe驱动数据搬运优化与DMA编程工程案例
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
PCIe基础概念
PCIe总线拓扑结构 · 设备层级 · 配置空间与地址映射
PCIe
基础概念
02
PCIe驱动框架
Linux PCI子系统 · pci_driver结构体 · probe/remove回调机制
PCIe
驱动框架
03
设备枚举与资源获取
pci_get_device · pci_enable_device · pci_request_region…
设备枚举
资源获取
04
MMIO与PIO访问
ioremap · readl/writel · ioread32/iowrite32
MMIO
PIO
05
中断处理基础
INTx中断 · MSI/MSI-X中断 · request_irq
断处理基础
INTx
06
数据搬运瓶颈分析
CPU拷贝开销 · Cache一致性 · 总线带宽利用率
数据搬运瓶颈分析
CPU
07
DMA基础原理
DMA控制器 · DMA引擎 · 源地址/目的地址/传输长度
DMA
基础原理
08
Linux DMA API概览
dma_alloc_coherent · dma_map_single · dma_map_sg
Linux
DMA
09
一致性DMA映射
dma_alloc_coherent… · 非Cacheable内存 · 适用场景
DMA
一致性
10
流式DMA映射
dma_map_single/dma… · dma_sync_single_fo… · Cache一致性维护
DMA
流式
11
SG列表DMA
dma_map_sg/dma_unm… · scatterlist结构 · 分散聚合传输
SG
DMA
12
DMA描述符与环形缓冲区
描述符结构设计 · 生产者/消费者模型 · 环形队列实现
DMA
描述符
13
硬件DMA引擎编程
寄存器配置 · 传输启动 · 完成轮询/中断
DMA
硬件
14
DMA中断与完成回调
DMA完成中断注册 · tasklet/workqueue底… · 完成通知机制
DMA
完成回调
15
多队列DMA
多通道DMA · 队列调度 · 负载均衡
DMA
多队列
16
零拷贝技术原理
mmap · 用户态直接I/O · 设备间直接传输
零拷贝技术原理
mmap
17
用户态DMA框架
UIO · VFIO · DPDK
DMA
用户态
18
DMA与CPU协同
双缓冲 · 乒乓缓冲 · 流水线处理
DMA
CPU
19
PCIe TLP与数据包
事务层包格式 · Memory Read/Write · Completion
PCIe
TLP
20
PCIe带宽与延迟优化
Max Payload Size · Max Read Request S… · RCB设置
PCIe
带宽
21
DMA性能测量工具
perf · ftrace · iostat
DMA
性能测量工具
22
常见DMA问题调试
DMA超时 · 数据损坏 · 地址对齐错误
DMA
常见
23
DMA调试手段
dma_debug · IOMMU调试 · PCIe错误日志
DMA
调试手段
24
案例1
简单字符设备DMA驱动——从设备内存…
案例1
DMA
25
案例2
高速数据采集卡DMA——环形缓冲+中…
案例2
DMA
26
案例3
NVMe SSD模拟DMA——PRP… · 多队列 · Completion聚合
案例3
NVMe
27
案例4
网络卸载引擎DMA——描述符环 · checksum offload · TSO
案例4
DMA
28
案例5
GPU与FPGA间DMA——PCIe… · BAR映射 · 原子操作
案例5
GPU
29
DMA安全与IOMMU
IOMMU/SMMU原理 · DMA重映射 · 防止恶意DMA攻击
DMA
IOMMU
30
课程总结与进阶方向
DMA发展趋势 · CXL/CCIX互连 · 可计算存储
课程总结
进阶方向
所属VIP或分类
同VIP:DMA控制器编程与PCIe数据搬运优化工程案例
同VIP:DMA控制器编程在PCIe驱动中的数据传输优化
同VIP:Linux-PCIe驱动开发与链路训练调试