![]() |
axidma
Xilinx SDK Drivers API Documentation
|
This file demonstrates how to use the xaxidma driver on the Xilinx AXI DMA core (AXIDMA) to transfer packets in polling mode when the AXI DMA core is configured in simple mode.
This code assumes a loopback hardware widget is connected to the AXI DMA core for data packet loopback.
To see the debug print, you need a Uart16550 or uartlite in your system, and please set "-DDEBUG" in your compiler options. You need to rebuild your software executable.
Make sure that MEMORY_BASE is defined properly as per the HW system. The h/w system built in Area mode has a maximum DDR memory limit of 64MB. In throughput mode, it is 512MB. These limits are need to ensured for proper operation of this code.
MODIFICATION HISTORY:
Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 4.00a rkv 02/22/11 New example created for simple DMA, this example is for simple DMA 5.00a srt 03/06/12 Added Flushing and Invalidation of Caches to fix CRs 648103, 648701. Added V7 DDR Base Address to fix CR 649405. 6.00a srt 03/27/12 Changed API calls to support MCDMA driver. 7.00a srt 06/18/12 API calls are reverted back for backward compatibility. 7.01a srt 11/02/12 Buffer sizes (Tx and Rx) are modified to meet maximum DDR memory limit of the h/w system built with Area mode 7.02a srt 03/01/13 Updated DDR base address for IPI designs (CR 703656). 9.1 adk 01/07/16 Updated DDR base address for Ultrascale (CR 799532) and removed the defines for S6/V6. 9.3 ms 01/23/17 Modified xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028. ms 04/05/17 Modified Comment lines in functions to recognize it as documentation block for doxygen generation of examples.
Functions | |
int | XAxiDma_SimplePollExample (u16 DeviceId) |
The example to do the simple transfer through polling. More... | |
int | main () |
The entry point for this example. More... | |
int main | ( | void | ) |
The entry point for this example.
It invokes the example function, and reports the execution status.
None. |
int XAxiDma_SimplePollExample | ( | u16 | DeviceId | ) |
The example to do the simple transfer through polling.
The constant NUMBER_OF_TRANSFERS defines how many times a simple transfer is repeated.
DeviceId | is the Device Id of the XAxiDma instance |