zdma
Vitis Drivers API Documentation
|
This file contains the example using XZDma driver to do data transfer in Linked list 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 alignment pragmas in the example for IAR compiler. 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 linked list buffers. Changes were done to allocate Src1Buf and Dst1Buf properly. 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_LinkedListExample (u16 DeviceId) |
This function does a test of the data transfer in linked 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... | |
XScuGic | Intc |
XIntc Instance. More... | |
#define DESCRIPTOR1_DATA_SIZE 1024 |
Descriptor 1 data in bytes.
Referenced by XZDma_LinkedListExample().
#define DESCRIPTOR2_DATA_SIZE 64 |
Descriptor 2 data in bytes.
Referenced by XZDma_LinkedListExample().
#define TESTDATA1 0xABCD1230 |
Test data.
Referenced by XZDma_LinkedListExample().
#define TESTDATA2 0x00005000 |
Test data.
Referenced by XZDma_LinkedListExample().
#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_LinkedListExample().
int main | ( | void | ) |
Main function to call the example.
References XZDma_LinkedListExample().
int XZDma_LinkedListExample | ( | u16 | DeviceId | ) |
This function does a test of the data transfer in linked mode on the ZDMA driver.
DeviceId | is the XPAR_<ZDMA Instance>_DEVICE_ID value from xparameters.h. |
References XZDma_Config::BaseAddress, DESCRIPTOR1_DATA_SIZE, DESCRIPTOR2_DATA_SIZE, XZDma_Transfer::DstAddr, XZDma_DataConfig::DstCache, XZDma_Transfer::DstCoherent, Intc, XZDma_Config::IsCacheCoherent, XZDma_DataConfig::OverFetch, XZDma_Transfer::Pause, XZDma_Transfer::Size, XZDma_Transfer::SrcAddr, SrcBuf, XZDma_DataConfig::SrcCache, XZDma_Transfer::SrcCoherent, TESTDATA1, TESTDATA2, XZDma_CfgInitialize(), XZDma_CreateBDList(), XZDma_DisableIntr, XZDma_EnableIntr, XZDma_GetChDataConfig(), XZDMA_HANDLER_DONE, XZDma_IntrHandler(), XZDMA_IXR_DMA_DONE_MASK, XZDMA_LINKEDLIST, XZDma_LookupConfig(), XZDMA_NORMAL_MODE, XZDma_Reset(), XZDma_SelfTest(), XZDma_SetCallBack(), XZDma_SetChDataConfig(), XZDma_SetMode(), XZDma_Start(), and ZDMA_INTR_DEVICE_ID.
Referenced by main().
XScuGic Intc |
XIntc Instance.
XZDma ZDma |
Instance of the ZDMA Device.