我需要在 Linux 环境中通过 PCI 将视频数据传输到 FPGA 设备到和。我在 FPGA 上使用第三方 PCI 主内核。到目前为止,我已经在 FPGA 上实现了一个简单的 DMA Controller ,以使用连续的 PCI 写入突发将数据从 FPGA 传输到 CPU。
接下来,我需要将视频数据从 CPU 传输到 FPGA。解决此问题的最佳方法是什么?
我是否应该在 FPGA 上实现一个通过 PCI 执行大量突发读取的模块。或者有没有办法让 CPU 使用 PCI 写入突发有效地将数据写入 FPGA 的内存?
我的双向带宽要求约为 30 MB/s。
谢谢。
最佳答案
您可以像视频卡驱动程序那样从 CPU 进行发布写入,但您需要一些驱动程序魔术,例如设置 MTRR(这意味着您可能具有一些体系结构依赖性)。如果你想安全地从 FPGA 读取 DMA 是更好的方法。 30MB/s 并不多。
关于linux - 在 Linux 中通过 PCI 将视频数据传输到设备的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294080/