3

I have a GigE camera. I am using Zynq board. Now using linux programming I program the PS part of Zynq processor and capture the video and Now I have imagebuffer variable which has the captured Image data. I want to take the data from PS to PL part using the AXI interface I am probably going to use the AXI_VDMA interconnect, the problem is where in the memory the Imagebuffer is stored so that I can bring it to the PL part in Zynq.

Here is the image of Zynq processor. enter image description here

stu
  • 58
  • 7
user3217310
  • 144
  • 1
  • 17
  • The answer depends to some extent on how your application is structured. Is there a user-space application memory mapping the video frame buffer? – Jamey Hicks May 23 '14 at 13:57

1 Answers1

1

In general, the CPU accesses the video image buffer using either a kernel or user space virtual address. The progammable logic uses physical addresses, so you will need to translate the virtual address to a physical address and configure AXI_VDMA to use that.

In there Linux kernel there is a device driver for xilinx_axi_vdma which uses dma-mapping to solve the virtual/physical mapping problem.

See XAPP792: and its corresponding reference design for more details on how to use this.

Jamey Hicks
  • 2,340
  • 1
  • 14
  • 20