PCIe RC与EP模式开发精讲
📚 30章 · 从入门到实战
🎯
01
PCIe基础概念
总线架构概述 · PCI与PCIe区别 · 拓扑结构
➔
02
PCIe分层结构
事务层 · 数据链路层 · 物理层交互
➔
03
PCIe配置空间
Type0/Type1 · Capability · BAR空间
➔
04
TLP包格式
Memory/IO/Config/Message · Completion
➔
05
PCIe枚举与配置
总线枚举 · 设备发现 · 配置读写
➔
06
RC模式初始化
硬件初始化 · Root Complex寄存器 · 内存映射
➔
07
EP模式初始化
硬件初始化 · Endpoint寄存器 · 中断配置
➔
08
BAR空间配置
地址分配 · 64/32位BAR · 访问示例
➔
09
DMA传输原理
基本概念 · Descriptor Ring · Scatter-Gather
➔
10
RC侧DMA驱动开发
DMA控制器配置 · 传输编程 · 中断处理
➔
11
EP侧DMA驱动开发
DMA引擎设计 · 传输编程 · 状态轮询
➔
12
MSI/MSI-X中断
MSI机制 · MSI-X机制 · 向量配置与处理
➔
13
Legacy中断与INTx
INTx机制 · 中断路由 · 与MSI对比
➔
14
PCIe错误处理
Correctable/Uncorrectable · AER · 日志分析
➔
15
PCIe电源管理
ASPM · L0s/L1/L2 · 电源管理事件
➔
16
RC与EP通信模型
Memory-Mapped IO · Doorbell · Shared Memory
➔
17
PCIe Switch配置
内部路由 · Up/Downstream · 虚拟通道
➔
18
多虚拟通道(VC)
VC原理 · TC与VC映射 · 流量隔离
➔
19
PCIe原子操作
AtomicOp (FetchAdd/Swap/CAS) · 应用场景
➔
20
SR-IOV虚拟化
单根I/O虚拟化 · PF/VF配置 · 虚拟化场景
➔
21
PCIe ATS与PRI
Address Translation Services · Page Request
➔
22
PCIe热插拔
热插拔机制 · 状态机 · 驱动处理
➔
23
PCIe链路训练
LTSSM状态机 · 链路协商 · 速率宽度
➔
24
PCIe性能分析
带宽计算 · 延迟分析 · 吞吐量优化
➔
25
RC模式实战
Xilinx/Renesas RC IP · 驱动开发案例
➔
26
EP模式实战
Xilinx/Renesas EP IP · 驱动开发案例
➔
27
PCIe调试工具
lspci/setpci · 逻辑分析仪 · PCIe Analyzer
➔
28
常见问题与排查
Link Up失败 · BAR异常 · DMA超时 · 中断丢失
➔
29
PCIe Gen4/Gen5新特性
更高速率 · Equalization · Retimer/Redriver
➔
30
PCIe未来演进
CXL协议 · Compute Express Link · Gen6展望
➔