Together with a colleague of mine I am trying to determine whether or not the MicroZed board is suitable for a particular application.
The application will need to transfer large amounts of data over the 1GB ethernet port using TCP/IP.
In addition it will need to capture data from a video device, write the data to a large RAM buffer and then transfer it.
To do this my colleague has come up with some VHDL code to supply the Zynq's VDMA engine with lots of data, the VDMA engine takes care of writing the data.
He has written some bare metal code to test it all and it works really well.
To test the combined VDMA actvity and the TCP/IP communication we need to run everything under Linux.
I have managed to get iperf compiled and running on Linux (using Xilinx's SDK) and would now like to add the VDMA functionality.
That is were it gets difficult: I have worked out that the Linux device driver for it is "xilinx_axivdma.c" and I have found out how to incorporate the actual driver into the running Linux kernel (by editing and compiling the device tree).
So far, so good but what I can't find are any examples or documentation on how to use the device driver.
For testing I can use mmap etc... to make a "bare metal" like application but I will have to go trough the Linux device driver in the end.
Any pointer to useful examples or documentation would be very much appreciated.