【发布时间】:2014-03-13 09:06:18
【问题描述】:
我需要与基于 AXI-burst 接口的 FPGA 设备通信。在不涉及 DMA 的情况下,通过 Linux 访问此类设备的方法有哪些? Burst 是 AXI 标准的固有属性,通常应在传输大量数据时自动触发。更大的问题是 FPGA 被设计成只响应 AXI 总线上的突发类型请求。因此,当应用程序尝试顺序复制时,这会在 Linux 上引起严重问题。我已经尝试过memcpy,但它不起作用。
【问题讨论】:
-
内存访问的其他限制是什么?强令?设备?
-
该设备是基于 ARM Cortex A9 的 Zynq SoC。订购 - 未明确指定。
-
@Chiggs - 我试过 mmap 和 memcpy。但是它最终会触发单个读/写请求。
-
硬件每次突发需要多少字节?您可以从 ARM CPU 进行的最大传输来自 LDM/STM 指令。任何更大的东西都需要 DMA。