图 1. Linux DMA 软件架构
QDMA 驱动程序由以下三个主要组件组成:
- “Device control tool”(器件控制工具):用于创建 netlink socket(网络链路套接字),以供 PCIe 器件查询、查询管理、读取队列上下文等使用。
- “DMA tool”(DMA 工具):它是用户空间应用,用于发起 DMA 传输事务。您可使用标准 Linux 实用工具 dd 或 fio,或者使用驱动程序包中的示例应用。
- “Kernel space driver”(内核空间驱动程序):用于创建描述符并将用户空间功能转换为低级别命令,以便与器件 进行交互。