Table of Contents
Table of Contents |
---|
This page gives an overview of zdma driver which is available as part of the Xilinx Vivado and Vitis distribution. ZDMA is a general purpose DMA designed to support memory to memory and memory to IO buffer transfers.
...
The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the Xilinx Github repository.
Driver Name | Path in Vitis | Path in Github |
---|---|---|
emapcs | <Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/zdma | https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/zdma |
Note: To view the sources for a particular release, use the rel-version tag in github. For example, for the 2020.1 release, the proper version of the code is: https://github.com/Xilinx/embeddedsw/tree/xilinx_v2021.1/XilinxProcessorIPLib/drivers/zdma |
The driver source code is organized into different folders. The table below shows the ZDMA driver source organization.
Directory | Description |
---|---|
doc | Provides the API and data structure details |
data | Driver .tcl and .mdd file |
examples | Example applications that show how to use the driver features |
src | Driver source files |
Driver Implementation
For a full list of features supported by this IP, please refer to ADMA/GDMA chapter in ZynqMP TRM (UG1085) or Versal TRM (AM011) for respective devices.
...
Examples Path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/zdma/examples
Test Name | Example Source | Description |
---|---|---|
ZDMA Selftest example | Basic ZDMA selftest example to check sanity and use core APIs. | |
ZDMA Write-only example | ZDMA example demonstrating write-only feature. | |
ZDMA Read-only example | ZDMA example demonstrating read-only feature. | |
ZDMA SG Linear example | ZDMA example demonstrating Scatter Gather Linear descriptor mode. | |
ZDMA SG Linked list example | ZDMA example demonstrating Scatter Gather Linked list descriptor mode. | |
ZDMA Simple DMA example | ZDMA example demonstrating Simple DMA mode. |
Example Application Usage
...
Basic ZDMA selftest example to check sanity and use core APIs.
Expected Output
|
ZDMA Write-only example
ZDMA example demonstrating write-only feature.
Expected Output
|
ZDMA Read-only example
ZDMA example demonstrating read-only feature.
Expected Output
|
ZDMA SG Linear example
ZDMA example demonstrating Scatter Gather Linear descriptor mode.
Expected Output
|
ZDMA SG Linked list example
ZDMA example demonstrating Scatter Gather Linked list descriptor mode.
Expected Output
|
ZDMA Simple DMA example
ZDMA example demonstrating Simple DMA mode.
Expected Output
|
Example Design Architecture
NA
Performance
NA
Change Log
2021.2
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2021.2/doc/ChangeLog#L133
2021.1
https://github.com/Xilinx/embeddedsw/blob/xilinx_v2021.1/doc/ChangeLog#L326
...