首页
›
Linux内核与驱动
›
138-Linux驱动项目实战
›
《Linux PCIe设备驱动开发与BAR及DMA链路调试》
VIP10
本课程属于:138-Linux驱动项目实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux PCIe设备驱动开发与BAR及DMA链路调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
PCIe基础概念
PCIe总线架构 · 拓扑结构 · 设备枚举过程
PCIe
基础概念
02
PCIe配置空间
配置空间布局 · Capability结构 · 扩展配置空间
PCIe
配置空间
03
BAR空间原理
BAR寄存器作用 · 内存映射与IO映射 · 地址解码
BAR
空间原理
04
Linux PCI子系统
pci_driver结构体 · pci_device_id匹配表 · probe/remove回调
Linux
PCI
05
设备注册与注销
pci_register_drive… · pci_unregister_dri… · 模块加载流程
设备注册
注销
06
BAR空间映射实战
pci_resource_start · pci_resource_len · ioremap
BAR
空间映射实战
07
读写BAR空间
ioread32/iowrite32 · readl/writel · 内存屏障
BAR
读写
08
中断基础
PCIe中断类型(INTx/MSI/… · 中断号获取
断基础
PCIe
09
中断注册与处理
request_irq · free_irq · 中断处理函数编写
断注册
处理
10
MSI/MSI-X配置
pci_enable_msi · pci_enable_msix · 中断亲和性
MSI/MSI-X
配置
11
DMA基础概念
DMA工作原理 · 流式DMA与一致性DMA
DMA
基础概念
12
DMA API详解
dma_alloc_coherent · dma_map_single · dma_unmap_single
DMA
API
13
DMA描述符环
环形缓冲区设计 · 描述符结构定义 · 硬件交互
DMA
描述符环
14
DMA传输实战
发起DMA读/写 · 轮询完成 · 中断通知
DMA
传输实战
15
Scatter/Gather DMA
sg_table构建 · dma_map_sg · dma_unmap_sg
Scatter/Gath…
DMA
16
DMA一致性管理
dma_sync_single_fo…
DMA
一致性管理
17
PCIe DMA控制器编程
设备侧DMA引擎配置 · 传输控制寄存器
PCIe
DMA
18
用户态与内核态交互
copy_to_user/copy_… · mmap映射BAR
用户态
内核态交互
19
ioctl接口设计
自定义命令 · 参数传递 · 权限控制
ioctl
接口设计
20
procfs/debugfs调试
创建调试文件 · 导出寄存器状态 · DMA统计
procfs/debug…
调试
21
PCIe热插拔处理
热插拔事件 · rescan流程 · 驱动重绑定
PCIe
热插拔处理
22
电源管理
suspend/resume回调 · DMA状态保存恢复
电源管理
suspend/resu…
23
错误处理
PCIe AER · DMA超时 · 总线错误恢复
错误处理
PCIe
24
性能优化
DMA双缓冲 · 缓存行对齐 · 预取策略
性能优化
DMA
25
多队列DMA
多通道设计 · 队列调度 · 负载均衡
DMA
多队列
26
虚拟化支持
SR-IOV基础 · VF驱动编写 · 直通配置
虚拟化支持
SR-IOV
27
设备树与ACPI
PCIe设备描述 · 资源分配 · 平台驱动集成
ACPI
设备树
28
驱动测试框架
使用QEMU模拟PCIe设备 · 单元测试 · 压力测试
驱动测试框架
QEMU
29
常见问题排查
dmesg日志分析 · lspci工具 · crash dump分析
常见问题排查
dmesg
30
综合实战项目
从零实现一个PCIe数据采集卡驱动(…
综合实战项目
PCIe
所属VIP或分类
同VIP:DMA传输实战:dmaengine接口与描述符链管理
同VIP:DMA传输实战:dmaengine接口与环形缓冲区设计
同VIP:ftrace结合printk调试驱动中断处理流程