zdma
Vitis Drivers API Documentation
xzdma_linear_example.c File Reference

Overview

This file contains the example using XZDma driver to do data transfer in Linear mode on ZDMA device.

MODIFICATION HISTORY:
Ver   Who     Date     Changes


1.0 vns 2/27/15 First release ms 04/05/17 Modified comment lines notation in functions to avoid unnecessary description to get displayed while generating doxygen. 1.3 mus 08/14/17 Do not perform cache operations if CCI is enabled 1.4 adk 11/02/17 Updated example to fix compilation errors for IAR compiler. 1.7 adk 21/03/19 Fix data alignment in the example for IAR compiler. 1.13 sk 08/02/21 Make Done, Pause variables as volatile to fix failure at optimization level 2. 1.13 asa 08/24/21 Make changes to add a missing data invalidation operation just before the destination buffer data is being read. Along with the changes were done to ensure proper sizes for linear SG buffers. Changes were done to allocate the buffers with sizes which are in sync with other examples. Changes were done for other cleanups and also to ensure that the DMA is reset before the program exits. 1.16 sa 09/29/22 Fix infinite loops in the example.

Macros

#define ZDMA_INTC_DEVICE_ID   XPAR_SCUGIC_SINGLE_DEVICE_ID
 SCUGIC Device ID. More...
 
#define ZDMA_INTR_DEVICE_ID   XPAR_XADMAPS_0_INTR
 ZDMA Interrupt Id. More...
 
#define TESTDATA1   0xABCD1230
 Test data. More...
 
#define TESTDATA2   0x00005000
 Test data. More...
 
#define DESCRIPTOR1_DATA_SIZE   1024
 Descriptor 1 data in bytes. More...
 
#define DESCRIPTOR2_DATA_SIZE   64
 Descriptor 2 data in bytes. More...
 

Functions

int XZDma_LinearExample (u16 DeviceId)
 This function does a test of the data transfer in linear mode on the ZDMA driver. More...
 
u32 DstBuf[256] __attribute__ ((aligned(64)))
 Destination buffer. More...
 
int main (void)
 Main function to call the example. More...
 

Variables

XZDma ZDma
 Instance of the ZDMA Device. More...
 
XScuGic Intc
 XIntc Instance. More...
 

Macro Definition Documentation

#define DESCRIPTOR1_DATA_SIZE   1024

Descriptor 1 data in bytes.

Referenced by XZDma_LinearExample().

#define DESCRIPTOR2_DATA_SIZE   64

Descriptor 2 data in bytes.

Referenced by XZDma_LinearExample().

#define TESTDATA1   0xABCD1230

Test data.

Referenced by XZDma_LinearExample().

#define TESTDATA2   0x00005000

Test data.

Referenced by XZDma_LinearExample().

#define ZDMA_INTC_DEVICE_ID   XPAR_SCUGIC_SINGLE_DEVICE_ID

SCUGIC Device ID.

#define ZDMA_INTR_DEVICE_ID   XPAR_XADMAPS_0_INTR

ZDMA Interrupt Id.

Referenced by XZDma_LinearExample().

Function Documentation

u32 DstBuf [256] __attribute__ ( (aligned(64))  )

Destination buffer.

memory allocated for descriptors

Source buffer.

int main ( void  )

Main function to call the example.

Returns
  • XST_SUCCESS if successful.
  • XST_FAILURE if failed.
Note
None.

References XZDma_LinearExample().

Variable Documentation

XZDma ZDma

Instance of the ZDMA Device.