![]() |
NEORV32 - Software Framework Documentation
|
External Interrupt controller HW driver source file. More...
Functions | |
static void | __neorv32_xirq_core (void) |
static void | __neorv32_xirq_dummy_handler (void) |
int | neorv32_xirq_available (void) |
int | neorv32_xirq_setup (void) |
void | neorv32_xirq_global_enable (void) |
void | neorv32_xirq_global_disable (void) |
int | neorv32_xirq_get_num (void) |
void | neorv32_xirq_clear_pending (int channel) |
void | neorv32_xirq_channel_enable (int channel) |
void | neorv32_xirq_channel_disable (int channel) |
int | neorv32_xirq_install (int channel, void(*handler)(void)) |
int | neorv32_xirq_uninstall (int channel) |
Variables | |
static uint32_t | __neorv32_xirq_vector_lut [32] |
External Interrupt controller HW driver source file.
|
static |
This is the actual second-level (F)IRQ handler for the XIRQ. It will call the previously installed handler if an XIRQ fires.
|
static |
XIRQ dummy handler.
int neorv32_xirq_available | ( | void | ) |
Check if external interrupt controller was synthesized.
void neorv32_xirq_channel_disable | ( | int | channel | ) |
Disable IRQ channel.
[in] | channel | XIRQ interrupt channel (0..31). |
void neorv32_xirq_channel_enable | ( | int | channel | ) |
Enable IRQ channel.
[in] | channel | XIRQ interrupt channel (0..31). |
void neorv32_xirq_clear_pending | ( | int | channel | ) |
Clear pending interrupt.
[in] | channel | XIRQ interrupt channel (0..31). |
int neorv32_xirq_get_num | ( | void | ) |
Get number of implemented XIRQ channels
void neorv32_xirq_global_disable | ( | void | ) |
Globally disable XIRQ interrupts (via according FIRQ channel).
void neorv32_xirq_global_enable | ( | void | ) |
Globally enable XIRQ interrupts (via according FIRQ channel).
int neorv32_xirq_install | ( | int | channel, |
void(*)(void) | handler | ||
) |
Install interrupt handler function for XIRQ channel.
[in] | channel | XIRQ interrupt channel (0..31). |
[in] | handler | The actual handler function for the specified interrupt (function MUST be of type "void function(void);"). |
int neorv32_xirq_setup | ( | void | ) |
Initialize XIRQ controller.
int neorv32_xirq_uninstall | ( | int | channel | ) |
Uninstall interrupt handler function for XIRQ channel.
[in] | channel | XIRQ interrupt channel (0..31). |
|
static |
The >private< trap vector look-up table of the XIRQ.