![]() |
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 (uint8_t ch) |
void | neorv32_xirq_channel_enable (uint8_t ch) |
void | neorv32_xirq_channel_disable (uint8_t ch) |
int | neorv32_xirq_install (uint8_t ch, void(*handler)(void)) |
int | neorv32_xirq_uninstall (uint8_t ch) |
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 | ( | uint8_t | ch | ) |
Disable IRQ channel.
[in] | ch | XIRQ interrupt channel (0..31). |
void neorv32_xirq_channel_enable | ( | uint8_t | ch | ) |
Enable IRQ channel.
[in] | ch | XIRQ interrupt channel (0..31). |
void neorv32_xirq_clear_pending | ( | uint8_t | ch | ) |
Clear pending interrupt.
[in] | ch | 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 | ( | uint8_t | ch, |
void(*)(void) | handler | ||
) |
Install exception handler function for XIRQ channel.
[in] | ch | XIRQ interrupt channel (0..31). |
[in] | handler | The actual handler function for the specified exception (function MUST be of type "void function(void);"). |
int neorv32_xirq_setup | ( | void | ) |
Initialize XIRQ controller.
int neorv32_xirq_uninstall | ( | uint8_t | ch | ) |
Uninstall exception handler function for XIRQ channel.
[in] | ch | XIRQ interrupt channel (0..31). |
|
static |
The >private< trap vector look-up table of the XIRQ.