首页
›
Linux内核与驱动
›
001-Linux内核
›
《Linux内核PCIe驱动:配置空间访问与DMA传输实现》
VIP10
本课程属于:001-Linux内核
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核PCIe驱动:配置空间访问与DMA传输实现
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
PCIe概述
PCIe总线的发展历史 · PCIe与PCI/PCI-X的区别 · PCIe拓扑结构(根复合体
PCIe
总线的发展历史
02
PCIe配置空间
配置空间的结构(Type 0和Typ… · 配置空间寄存器的布局(Vendor… · Device ID
PCIe
配置空间
03
配置空间访问机制
I/O端口访问(CF8h/CFCh) · 内存映射访问(MMCFG) · ACPI MCFG表
配置空间访问机制
I/O
04
Linux内核PCI子系统架构
pci_bus · pci_dev数据结构 · pci_driver结构体
Linux
PCI
05
PCI驱动注册与注销
module_init/module… · pci_register_drive… · pci_device_id表
PCI
驱动注册
06
PCI设备探测
probe回调函数 · pci_enable_device · pci_request_region…
PCI
设备探测
07
PCI BAR空间
BAR寄存器的含义 · BAR类型(内存空间/I/O空间) · BAR大小与地址映射
PCI
BAR
08
访问PCI设备寄存器
ioremap/iounmap · readl/writel · ioread32/iowrite32
PCI
访问
09
PCI中断机制
INTx中断 · MSI中断 · MSI-X中断
PCI
断机制
10
中断处理函数注册
request_irq/free_i… · 中断处理函数原型 · 中断共享与线程化中断
断处理函数注册
request
11
DMA基础
DMA的概念 · DMA与CPU数据传输的区别 · DMA控制器与PCIe DMA引擎
DMA
的概念
12
Linux DMA API概述
dma_alloc_coherent… · dma_map_single/dma… · dma_map_sg/dma_unm…
Linux
DMA
13
一致性DMA映射
dma_alloc_coherent… · 一致性DMA缓冲区特点 · 适用场景
DMA
一致性
14
流式DMA映射
dma_map_single的使用 · DMA方向(DMA_TO_DEVIC… · dma_sync_single_fo…
DMA
流式
15
SG列表DMA映射
dma_map_sg的使用 · scatterlist结构体 · SG列表遍历与映射
SG
DMA
16
DMA描述符与环形缓冲区
描述符结构设计 · 环形缓冲区原理 · 生产者/消费者模型
DMA
描述符
17
PCIe TLP与DMA传输
TLP包格式(Memory Read… · 地址转换 · 数据载荷
PCIe
TLP
18
DMA传输完成中断
中断状态寄存器 · 中断服务例程中处理DMA完成 · DMA完成回调机制
DMA
传输完成
19
DMA传输超时与错误处理
DMA超时检测 · 错误状态寄存器读取 · DMA通道重置
DMA
传输超时
20
PCIe MSI/MSI-X配置
MSI能力结构 · MSI-X能力结构 · pci_alloc_irq_vect…
PCIe
MSI/MSI-X
21
MSI-X中断亲和性
中断亲和性设置 · irq_set_affinity_h… · 多队列DMA与中断绑定
MSI-X
断亲
22
PCIe AER(高级错误报告)
AER能力结构 · 错误源识别 · 驱动中注册AER回调
PCIe
AER
23
PCIe电源管理
PCI-PM与ASPM · 驱动中电源管理回调(suspend/… · DMA状态保存与恢复
PCIe
电源管理
24
PCIe热插拔
热插拔原理 · 驱动中热插拔事件处理 · pci_hotplug接口
PCIe
热插拔
25
多队列DMA设计
多队列优势 · 队列分配策略 · 每个队列独立中断与处理
DMA
多队列
26
DMA性能优化
缓存一致性 · 写合并 · 预取
DMA
性能优化
27
调试与日志
dev_info/dev_err/d… · PCIe配置空间dump · DMA传输日志
调试
日志
28
使用ftrace与perf调试DMA
ftrace跟踪DMA函数 · perf分析DMA延迟 · dma-debug内核选项
ftrace
perf
29
PCIe驱动测试方法
虚拟设备(QEMU) · 硬件回环测试 · 压力测试与稳定性测试
PCIe
驱动测试方法
30
完整PCIe DMA驱动示例
综合前面所有知识点 · 实现一个完整的PCIe DMA驱动框… · DMA分配
PCIe
DMA
所属VIP或分类
同VIP:Linux-I2C控制器驱动开发与时序仲裁调试
同VIP:Linux内核SPI控制器驱动:FIFO与DMA传输优化
同VIP:Linux内核USB驱动开发与URB传输调试