我正在Zedboard Zynq评估板上做一个图像处理项目,使用的是构建在上面的FPGA。我已经使用HLS编写了图像处理块,并创建了输入和输出均为宽度为8的AXI4流的IP。
如何在PC上读取JPEG图像并将其作为AXI4流发送到此IP块,然后将其输出回PC屏幕上?
有没有现成的IP可以做到这一点?
备注: FPGA板通过JTAG电缆连接到我的PC,以防与之相关。
发布于 2017-12-01 02:31:25
可编程逻辑(PL)和Zynq的处理系统(PS)之间的图像数据交换可以使用直接存储器存取(DMA)/video直接存储器存取(VDMA)来建立。
此功能由Xilinx作为IP核心提供。该IP核以AXI流的形式在PL端实现图像数据的接收和发送。在PS端,可以使用linux UIO访问DMA。为此,您必须在ARM核的设备树中修改DMA IP核的设备树节点。如果完成此操作,则可以在linux系统中的/dev/下使用DMA。现在可以使用mmap()将其映射到用户空间。通过配置DMA,必须将PS的RAM中的存储区分配给它。该存储器区域用于实现所谓的流缓存器。DMA内核使用该流缓冲区来读取或写入图像数据。同时,linux应用程序可以访问这个内存区。这允许PS和PL之间的数据交换。有关各个寄存器和配置过程的详细说明,请参阅Xilinx的AXI DMA/VDMA产品指南。只要用户空间中有可用的图像数据,就可以使用以太网连接将图像发送到主机PC。JTAG连接不是在主机PC和ZED板之间交换图像数据的适当方式。
https://stackoverflow.com/questions/47224539
复制相似问题