Iomodule Standalone driver
Introduction
This page gives an overview of iomodule driver which is available as part of the AMD Vivado and Vitis distribution.
Driver Sources
The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the AMD Github repository.
Driver Name | Path in Vitis | Path in Github |
---|---|---|
iomodule | <Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/iomodule | embeddedsw/XilinxProcessorIPLib/drivers/iomodule at master · Xilinx/embeddedsw |
Note: To view the sources for a particular release, use the rel-version tag in github. For example, for the 2024.1 release, the proper version of the code is: embeddedsw/XilinxProcessorIPLib/drivers/iomodule at xlnx_rel_v2024.1 · Xilinx/embeddedsw
The driver source code is organized into different folders. The table below shows the iomodule driver source organization.
Directory | Description |
---|---|
doc | Provides the API and data structure details |
data | Driver .tcl, .mdd and .yaml file |
examples | Example applications that show how to use the driver features |
src | Driver source files, make and cmakelists file |
Note: The .yaml(in data folder) and CMakeLists.txt(in src folder) files would be used in System Device Tree based flow.
Driver Implementation
For a full list of features supported by this IP, please refer I/O Module product guide
Features Supported
UART
Fixed Interval Timer (FIT)
Programmable Interval Timer (PIT)
General Purpose Output (GPO)
General Purpose Input (GPI)
Interrupt controller (INTC)
IO bus (IO)
Known issues and Limitations
None
Example Applications
Refer to the driver examples directory for various example applications that exercise the different features of the driver. Each application is linked in the table below. The following sections describe the usage and expected output of the various applications. These example applications can be imported into the Vitis IDE from the Board Support Package settings tab.
Links to Examples
Examples Path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/iomodule/examples
Test Name | Example Source | Description |
---|---|---|
IO Module interrupt example | This example demonstrates usage of IO Module interrupts. It initializes the Programmable interval timers and then sets it up in compare mode with auto reload such that a periodic interrupt is generated.
| |
IO Module self test example | This examples demonstrates basic initialization of IO Module driver. | |
IO Module low level example | This example demonstrates usage of low level API interface of IO Module driver. |
Example Application Usage
IO Module interrupt example
This example demonstrates usage of IO Module interrupts. It initializes the Programmable interval timers and then sets it up in compare mode with auto reload such that a periodic interrupt is generated.
Expected output
Successfully ran Iomodule interrupt Example |
IO Module low level example
This example demonstrates usage of low level API interface of IO Module driver. It triggers interrupt by writing to the interrupt status bit
Expected Output
Successfully ran Iomodule lowlevel Example |
IO Module selftest example
This examples demonstrates basic initialization of IO Module driver
Expected Output
Successfully ran Iomodule selftest Example |
Changelog
2024.2
2024.1
2023.2
2023.1
No Changes
2022.2
2022.1
2021.2
2021.1
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy