This page gives an overview of intc driver which is available as part of the Xilinx Vivado and Vitis distribution.
The LogiCORE™ IP AXI Interrupt Controller (INTC) core receives multiple interrupt inputs from peripheral devices and merges them into an interrupt output to the system processor. The registers used for storing interrupt vector addresses, checking, enabling and acknowledging interrupts are accessed through the AXI4-Lite interface.
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 |
---|---|---|
intc | <Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/intc | https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/intc |
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-v2020.1/XilinxProcessorIPLib/drivers/intc |
The driver source code is organized into different folders. The table below shows the intc driver source organization.
Directory | Description |
---|---|
doc | Provides the API and data structure details |
data | Driver .tcl , .mdd and .yaml files |
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.
For a full list of features supported by this IP, please refer AXI interrupt controller product guide
Support up to 32 interrupt inputs
Capable of cascading, to support more than 32 interrupt inputs
Enabling and disabling of individual interrupts.
Capable of generating software interrupts
NA
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.
Examples path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/intc
Test Name | Example Source | Description |
---|---|---|
INTC Self test example | This example performs a self-test to ensure that the hardware was built correctly. | |
INTC simulation mode example | This example demonstrates how to use the interrupt controller driver instance and the hardware device. It is designed to | |
INTC low level example | This is an interrupt example which utilizes low level APIs to configure the interrupt in simulation mode |
This example performs a self-test to ensure that the hardware was built correctly.
Expected Output
|
This example demonstrates triggering of interrupts in simulation mode.
Expected output
|
This is an interrupt example which utilizes low level APIs to configure the interrupt in simulation mode
Expected output
|
NA
NA
2023.2
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2023.2/doc/ChangeLog#L277
2023.1
None
2022.2
None
2022.1
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2022.1/doc/ChangeLog#L40
2021.2
None
2021.1
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2021.1/doc/ChangeLog#L144
2020.2