使用驱动程序进行PCI Express验证

时间:2013-03-14 05:13:16

标签: c testing driver pci pci-e

我正在使用Windriver Jungo测试连接到PC的PCI Express设备。我能够以8/16/32/64位模式读/写存储器,并且电路板响应非常好。但我怀疑的是,根据PCI express规范,我们可以发送一个128字节到4096字节的TLP数据包。如何使用驱动程序实现此传输。现在它只传输8字节(64位模式)数据。如果我发送更多数据,则将数据拆分为8byte数据包,然后发送。请清除我的疑问,并在Windows或Linux中为PCI Express建议任何其他驱动程序选项?

2 个答案:

答案 0 :(得分:1)

您正在尝试PIO读写,而不是DMA。 PIO读/写TLP在数据包中只有双字长度数据。对于突发数据传输(其数据最多为4096字节,但主板芯片组可能限制为128字节),您必须启动从PCIE设备到PC的读/写操作,而不是从PC到PCIE。

答案 1 :(得分:0)

之前我使用过windriver与PCIE FPGA套件进行通信,它可以在程序指定的任何有效负载(128-4K)下正常工作。这可能是您写入BAR位置的方式。检查您是将数据发送到相同的BAR地址位置还是不同的BAR地址位置。