zdma
Vitis Drivers API Documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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.

#include "xzdma.h"
#include "xparameters.h"
#include "xinterrupt_wrap.h"
#include "xil_util.h"
#include "xplatform_info.h"

Macros

#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 (UINTPTR BaseAddress)
 This function does a test of the data transfer in linear mode on the ZDMA driver. More...
 
int main (void)
 Main function to call the example. More...
 

Variables

XZDma ZDma
 Instance of the ZDMA Device. More...
 
u32 DstBuf [256]
 Destination buffer. More...
 
u32 SrcBuf [256]
 Source buffer. More...
 
u32 Dst1Buf [256]
 Destination buffer. More...
 
u32 Src1Buf [256]
 Source buffer. More...
 
u32 AlloMem [256]
 memory allocated for descriptors 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().

Function Documentation

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

u32 AlloMem[256]

memory allocated for descriptors

Referenced by XZDma_LinearExample(), and XZDma_LinkedListExample().

u32 Dst1Buf[256]

Destination buffer.

Referenced by XZDma_LinearExample(), and XZDma_LinkedListExample().

u32 DstBuf[256]
u32 Src1Buf[256]

Source buffer.

Referenced by XZDma_LinearExample(), and XZDma_LinkedListExample().

XZDma ZDma

Instance of the ZDMA Device.