- Ensure the conditions in the Card Information and Installation section have been met.
- Create a couple of text files for H2C and C2H with different content using
the following commands:
echo "PS DDR Test" > dma_test_input.txt
echo "XXXXXXXX" > dma_test_output.txt
- Run the test.sh in root,
initas argument, to initialize the DMA related drivers.
- Execute the test.sh script, with either
rdtas argument, to launch the QDMA test application for the Zynq UltraScale+ MPSoC or the Zynq UltraScale+ RFSoC.
- When the
xilinx-appprompt comes up, initialize the port with the command
port_init 0 1 0 1024 4096within the test application.
- Using DMA, transfer the data from H2C with the command
dma_to_device 0 1 <H2C text file> <PS/PL DDR address offset> <H2C text file size> 0.
- Confirm if the DMA transfer is successful. An example based on
the example files in step 2 is as follows:
The second test, again based on the files from step 2, is as follows:
dma_to_device 0 1 dma_test_input.txt 1073741824 13 0
dma_to_device 0 1 dma_test_output.txt 1073741824 13 0
- Using DMA, transfer the data from C2H with the command
dma_from_device 0 1 <C2H text file> <PS/PL DDR address offset> <C2H text file size> 0.
- Confirm if the DMA transfer is successful. The figure below is a capture of all the steps described in this procedure.
- Close the port with the command
port_close 0, and then exit the QDMA test application (press Ctrl + D).
The DDR test flow and results are shown in the following figure.