首页
›
Linux内核与驱动
›
156-Linux内核驱动实战
›
《Linux PCIe驱动开发:中断与DMA传输配置》
VIP10
本课程属于:156-Linux内核驱动实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux PCIe驱动开发:中断与DMA传输配置
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
PCIe基础概念
PCIe总线拓扑结构 · Root Complex与Endpo… · PCIe配置空间与BAR空间
PCIe
基础概念
02
Linux PCI子系统架构
pci_driver结构体 · pci_device_id匹配表 · 模块加载与卸载流程
Linux
PCI
03
PCI设备枚举与发现
pci_register_drive… · probe回调函数 · 设备树与ACPI对PCIe的支持
PCI
设备枚举
04
BAR空间映射与访问
ioremap · pci_ioremap_bar · 读写BAR寄存器
BAR
空间映射
05
PCI配置空间操作
pci_read_config_*… · Capability链表 · MSI/MSI-X Capabili…
PCI
配置空间操作
06
中断基础概念
中断向量 · 中断控制器 · 中断上下文
断基础概念
断向量
07
PCIe中断类型
INTx · MSI · MSI-X的区别与选择
PCIe
断类型
08
MSI中断配置
pci_alloc_irq_vect… · request_irq · 中断处理函数编写
MSI
断配置
09
MSI-X中断配置
pci_msix_alloc_irq… · per-vector掩码 · 多队列中断映射
MSI-X
断配置
10
中断下半部机制
tasklet · workqueue · threaded IRQ的使用场景与…
断下半部机制
tasklet
11
中断共享与竞争
IRQF_SHARED标志 · 中断处理函数返回值 · 自旋锁保护
断共享
竞争
12
DMA基础概念
DMA控制器 · 总线主控 · 流式DMA与一致性DMA
DMA
基础概念
13
Linux DMA API概述
dma_alloc_coherent · dma_map_single · dma_unmap_single
Linux
DMA
14
一致性DMA映射
dma_alloc_coherent… · 适用于控制类数据传输
DMA
一致性
15
流式DMA映射
dma_map_single与dma… · dma_map_sg与dma_unm…
DMA
流式
16
DMA描述符与Scatter-Gather
SG列表构建 · dma_map_sg · dma_unmap_sg
DMA
Scatter-Gath…
17
DMA方向与同步
DMA_TO_DEVICE · DMA_FROM_DEVICE · dma_sync_single_fo…
DMA
方向
18
PCIe DMA引擎与硬件交互
配置DMA引擎寄存器 · 启动DMA传输 · 轮询完成
PCIe
DMA
19
DMA完成中断处理
DMA传输完成中断注册 · 中断处理函数中获取传输状态
DMA
完成
20
环形缓冲区与DMA
环形缓冲区设计 · 生产者/消费者模型 · DMA与CPU共享环形队列
DMA
环形缓冲区
21
多队列DMA
多队列概念 · 每个队列独立中断 · 队列调度与负载均衡
DMA
多队列
22
DMA内存屏障与一致性
wmb/rmb/mb · dma_wmb/dma_rmb · 防止编译与CPU重排
DMA
内存屏障
23
PCIe TLP与数据流
事务层包格式 · Memory Read/Write · Completion
PCIe
TLP
24
PCIe错误处理
AER机制 · 错误中断注册 · 错误恢复流程
PCIe
错误处理
25
电源管理
PCIe电源状态D0/D1/D2/D… · pci_save_state/pci… · DMA暂停与恢复
电源管理
PCIe
26
调试与日志
dev_dbg/dev_info/d… · PCIe寄存器dump · DMA传输日志
调试
日志
27
性能优化
中断合并 · DMA批量传输 · 缓存行对齐
性能优化
断合并
28
用户空间DMA访问
UIO框架 · VFIO框架 · mmap BAR空间
DMA
用户空间
29
实战案例1
简单PCIe数据采集卡驱动(中断+单…
实战案例1
PCIe
30
实战案例2
高速NVMe-like多队列DMA驱…
实战案例2
NVMe-like
所属VIP或分类
同VIP:Linux-DMA驱动实战:内存管理与数据传输
同VIP:Linux-DMA驱动开发:缓冲区分配与传输优化
同VIP:Linux-GPIO驱动实战:中断配置与工程案例