下午好。 我正在为 Windows PCI 驱动程序苦苦挣扎。 我想做的是通过 PCI 写入和读取 Xilinx FPGA 板的 MMIO 空间。 为此,目前我正在使用 WRITE_REGISTER_BUFFER_ULONG 函数来传输数据。 每当我调用此函数时,板上的 ILA 调试显示一次仅传输 64 位,这似乎是预期的行为。 但是,我想要做的是在一次 TLP 事务中传输超过 64 位(可能是 512 位),这将在一个 TLP 数据包标头之后产生更多的 DWORDS。 Windows 内核驱动程序中是否有任何其他 API 可以将超过 64 位的数据发送到 MMIO 空间,而不是 DMA API?
谢谢!
我怀疑您能否使用主机 CPU 的 MMIO 来做到这一点。您可能需要让您的 PCIe 设备成为总线主设备才能进行更高效的传输。