首页
›
Linux内核与驱动
›
186-Linux内核驱动
›
《PCIe驱动BAR空间映射与设备枚举配置方法》
VIP10
本课程属于:186-Linux内核驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
PCIe驱动BAR空间映射与设备枚举配置方法
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
PCIe概述
PCIe总线的发展历史 · PCIe与PCI/PCI-X的区别 · PCIe拓扑结构(根复合体
PCIe
总线的发展历史
02
PCIe配置空间
配置空间的访问机制(IO映射与内存映… · 配置空间头部(Type0与Type1…
PCIe
配置空间
03
BAR空间基础
BAR(基地址寄存器)的作用 · BAR的宽度(32位与64位) · BAR的地址空间类型(内存空间与IO…
BAR
空间基础
04
BAR空间大小计算
通过写入全1再回读的方法确定BAR大… · 预取属性与地址对齐规则
BAR
空间大小计算
05
BAR空间映射
系统软件如何将物理地址分配给BAR · MMIO映射机制 · IO端口映射机制
BAR
空间映射
06
设备枚举流程
系统启动时的PCIe设备扫描 · 总线号分配 · 设备号与功能号识别
设备枚举流程
PCIe
07
配置读写机制
使用CF8/CFC端口进行IO配置读… · 使用内存映射配置访问(MMCFG)进…
配置读写机制
CF8/CFC
08
Type0配置头详解
Vendor ID · Device ID · Command
Type0
配置头详解
09
Type1配置头详解
桥设备特有的Primary/Seco… · Memory/IO Base/Lim…
Type1
配置头详解
10
Capabilities链表
Capabilities Point… · PCIe Capability结构(… · Next Cap
Capabilities
链表
11
PCIe扩展配置空间
扩展Capability ID · 扩展Capability链表 · AER(高级错误报告)等扩展能力
PCIe
扩展配置空间
12
设备枚举实战
在Linux内核中遍历PCIe设备树 · 读取Vendor ID与Device… · 打印设备列表
设备枚举实战
Linux
13
BAR空间读取与解析
读取BAR0~BAR5寄存器 · 判断BAR类型(32位/64位/IO… · 解析地址与大小
BAR
空间读取
14
BAR空间分配算法
系统固件(UEFI/BIOS)的BA… · 资源请求与冲突解决
BAR
空间分配算法
15
MMIO映射编程
使用ioremap()将物理BAR地… · 读写MMIO寄存器
MMIO
映射编程
16
IO端口映射编程
使用ioport_map()与inb…
IO
端口映射编程
17
DMA与BAR空间的关系
DMA引擎如何通过BAR访问设备内存 · PRD(物理区域描述符)与BAR的协…
DMA
BAR
18
MSI/MSI-X中断与BAR空间
MSI-X Table与PBA(Pe…
MSI/MSI-X
BAR
19
多功能设备枚举
同一设备下多个Function的枚举 · Function间的独立配置空间
多功能设备枚举
Function
20
桥设备枚举与总线拓扑
PCIe桥的配置 · 下游总线号分配 · 子设备递归枚举
桥设备枚举
总线拓扑
21
热插拔枚举
PCIe热插拔控制器 · 热插拔事件处理 · 设备添加与移除时的BAR重新分配
热插拔枚举
PCIe
22
ACPI与PCIe枚举
ACPI表(MCFG · DSDT)对PCIe配置空间基址的提… · PNP IDs与设备识别
ACPI
PCIe
23
UEFI下的PCIe枚举
UEFI PCI Bus Drive… · Protocol接口(EFI_PCI…
UEFI
PCIe
24
Linux PCI子系统架构
pci_bus · pci_dev数据结构 · pci_scan_bus()枚举流程
Linux
PCI
25
Linux PCI驱动框架
pci_driver结构 · probe/remove回调 · pci_enable_device(…
Linux
PCI
26
Windows WDF PCI驱动枚举
WDF框架下的PCI设备检测 · 资源列表获取 · BAR映射(MmMapIoSpace…
Windows
WDF
27
BAR空间调试技巧
使用lspci -vvv查看BAR信… · 使用setpci修改配置空间 · 使用devmem2直接访问MMIO
BAR
空间调试技巧
28
常见BAR映射问题
BAR未使能 · 地址冲突 · 64位BAR高32位未正确设置
BAR
常见
29
性能优化与BAR访问
Write Combining(WC… · MMIO访问延迟优化
BAR
性能优化
30
PCIe枚举与BAR映射综合实验
从零编写一个简单的PCIe驱动 · 完成设备枚举 · BAR读取
PCIe
BAR
所属VIP或分类
同VIP:DMA数据传输驱动开发与内存管理优化工程实践
同VIP:Linux内核驱动LED与GPIO中断响应调试
同VIP:Linux内核驱动PHY寄存器配置与调试工程实践