Function definitions for interrupt handler, exception.
Main Trap Entry Point (Naked). | |
Hardware vector target (written to mtvec). | |
| void | trap_entry (void) |
| The Main Trap Entry Point (Naked). | |
CPU Interrupt Handler. | |
Handle interrupt from external, timer, software interrupts.
| |
| int | irq_handleDefault (void) |
| Default Fallback Interrupt Handler. | |
| int | irq_handleSoft (void) |
| Handlers for CPU interrupts (Software). | |
| int | irq_handleTimer (void) |
| Handlers for CPU interrupts (Timer). | |
| void | irq_handleExt (void) |
| External Interrupt Handler (PLIC). | |
List of Interrupt Handler. | |
List of weak aliases for all PLIC interrupt sources. The user can override any of these by defining a function with the same name.
| |
| int | irq_m_invalid_handler (void) |
| ID: 0, Handler for invalid/unassigned interrupts. | |
| int | irq_m_uart0_handler (void) |
| ID: 1, Handler for UART0 interrupts. | |
| int | irq_m_uart1_handler (void) |
| ID: 2, Handler for UART1 interrupts. | |
| int | irq_m_uart2_handler (void) |
| ID: 3, Handler for UART2 interrupts. | |
| int | irq_m_spi0_handler (void) |
| ID: 6, Handler for SPI0 interrupts. | |
| int | irq_m_spi1_handler (void) |
| ID: 7, Handler for SPI1 interrupts. | |
| int | irq_m_spi2_handler (void) |
| ID: 8, Handler for SPI2 interrupts. | |
| int | irq_m_i2c0_handler (void) |
| ID: 11, Handler for I2C0 interrupts. | |
| int | irq_m_i2c1_handler (void) |
| ID: 12, Handler for I2C1 interrupts. | |
| int | irq_m_i2c2_handler (void) |
| ID: 13, Handler for I2C2 interrupts. | |
| int | irq_m_i2c3_handler (void) |
| ID: 14, Handler for I2C3 interrupts. | |
| int | irq_m_i2c4_handler (void) |
| ID: 15, Handler for I2C4 interrupts. | |
| int | irq_m_gpio0_0_handler (void) |
| ID: 16, Handler for GPIO0_0 interrupts. | |
| int | irq_m_gpio0_1_handler (void) |
| ID: 17, Handler for GPIO0_1 interrupts. | |
| int | irq_m_gpio1_0_handler (void) |
| ID: 18, Handler for GPIO1_0 interrupts. | |
| int | irq_m_gpio1_1_handler (void) |
| ID: 19, Handler for GPIO1_1 interrupts. | |
| int | irq_m_userTimer0_handler (void) |
| ID: 21, Handler for User Timer 0 interrupts. | |
| int | irq_m_userTimer1_handler (void) |
| ID: 22, Handler for User Timer 1 interrupts. | |
| int | irq_m_userTimer2_handler (void) |
| ID: 23, Handler for User Timer 2 interrupts. | |
| int | irq_m_watchDog0_handler (void) |
| ID: 26, Handler for WatchDog Timer interrupts. | |
| int | irq_m_axiA_handler (void) |
| ID: 30, Handler for AXI A interrupts. | |
| int | irq_m_l2Cache_handler (void) |
| ID: 31, Handler for L2 Cache Control interrupts. | |
| int | irq_m_user_a_handler (void) |
| ID: 32, Handler for User-defined Interrupt A. | |
| int | irq_m_user_b_handler (void) |
| ID: 33, Handler for User-defined Interrupt B. | |
| int | irq_m_user_c_handler (void) |
| ID: 34, Handler for User-defined Interrupt C. | |
| int | irq_m_user_d_handler (void) |
| ID: 35, Handler for User-defined Interrupt D. | |
| int | irq_m_user_e_handler (void) |
| ID: 36, Handler for User-defined Interrupt E. | |
| int | irq_m_user_f_handler (void) |
| ID: 37, Handler for User-defined Interrupt F. | |
| int | irq_m_user_g_handler (void) |
| ID: 38, Handler for User-defined Interrupt G. | |
| int | irq_m_user_h_handler (void) |
| ID: 39, Handler for User-defined Interrupt H. | |
Dispatcher/Exception Handlers (Function) | |
Trap Dispatcher mainly for external interrupt and exception handler.
| |
| void | trap (void) |
| Main C Trap Dispatcher. | |
| void | crash (void) |
| Fatal Exception Handler. | |
| void crash | ( | void | ) |
| int irq_handleDefault | ( | void | ) |
| void irq_handleExt | ( | void | ) |
| int irq_handleSoft | ( | void | ) |
#include <mtrap.h>
Handlers for CPU interrupts (Software).
| int irq_handleTimer | ( | void | ) |
#include <mtrap.h>
Handlers for CPU interrupts (Timer).
| int irq_m_axiA_handler | ( | void | ) |
#include <mtrap.h>
ID: 30, Handler for AXI A interrupts.
| int irq_m_gpio0_0_handler | ( | void | ) |
#include <mtrap.h>
ID: 16, Handler for GPIO0_0 interrupts.
| int irq_m_gpio0_1_handler | ( | void | ) |
#include <mtrap.h>
ID: 17, Handler for GPIO0_1 interrupts.
| int irq_m_gpio1_0_handler | ( | void | ) |
#include <mtrap.h>
ID: 18, Handler for GPIO1_0 interrupts.
| int irq_m_gpio1_1_handler | ( | void | ) |
#include <mtrap.h>
ID: 19, Handler for GPIO1_1 interrupts.
| int irq_m_i2c0_handler | ( | void | ) |
#include <mtrap.h>
ID: 11, Handler for I2C0 interrupts.
| int irq_m_i2c1_handler | ( | void | ) |
#include <mtrap.h>
ID: 12, Handler for I2C1 interrupts.
| int irq_m_i2c2_handler | ( | void | ) |
#include <mtrap.h>
ID: 13, Handler for I2C2 interrupts.
| int irq_m_i2c3_handler | ( | void | ) |
#include <mtrap.h>
ID: 14, Handler for I2C3 interrupts.
| int irq_m_i2c4_handler | ( | void | ) |
#include <mtrap.h>
ID: 15, Handler for I2C4 interrupts.
| int irq_m_invalid_handler | ( | void | ) |
#include <mtrap.h>
ID: 0, Handler for invalid/unassigned interrupts.
| int irq_m_l2Cache_handler | ( | void | ) |
#include <mtrap.h>
ID: 31, Handler for L2 Cache Control interrupts.
| int irq_m_spi0_handler | ( | void | ) |
#include <mtrap.h>
ID: 6, Handler for SPI0 interrupts.
| int irq_m_spi1_handler | ( | void | ) |
#include <mtrap.h>
ID: 7, Handler for SPI1 interrupts.
| int irq_m_spi2_handler | ( | void | ) |
#include <mtrap.h>
ID: 8, Handler for SPI2 interrupts.
| int irq_m_uart0_handler | ( | void | ) |
#include <mtrap.h>
ID: 1, Handler for UART0 interrupts.
| int irq_m_uart1_handler | ( | void | ) |
#include <mtrap.h>
ID: 2, Handler for UART1 interrupts.
| int irq_m_uart2_handler | ( | void | ) |
#include <mtrap.h>
ID: 3, Handler for UART2 interrupts.
| int irq_m_user_a_handler | ( | void | ) |
#include <mtrap.h>
ID: 32, Handler for User-defined Interrupt A.
| int irq_m_user_b_handler | ( | void | ) |
#include <mtrap.h>
ID: 33, Handler for User-defined Interrupt B.
| int irq_m_user_c_handler | ( | void | ) |
#include <mtrap.h>
ID: 34, Handler for User-defined Interrupt C.
| int irq_m_user_d_handler | ( | void | ) |
#include <mtrap.h>
ID: 35, Handler for User-defined Interrupt D.
| int irq_m_user_e_handler | ( | void | ) |
#include <mtrap.h>
ID: 36, Handler for User-defined Interrupt E.
| int irq_m_user_f_handler | ( | void | ) |
#include <mtrap.h>
ID: 37, Handler for User-defined Interrupt F.
| int irq_m_user_g_handler | ( | void | ) |
#include <mtrap.h>
ID: 38, Handler for User-defined Interrupt G.
| int irq_m_user_h_handler | ( | void | ) |
#include <mtrap.h>
ID: 39, Handler for User-defined Interrupt H.
| int irq_m_userTimer0_handler | ( | void | ) |
#include <mtrap.h>
ID: 21, Handler for User Timer 0 interrupts.
| int irq_m_userTimer1_handler | ( | void | ) |
#include <mtrap.h>
ID: 22, Handler for User Timer 1 interrupts.
| int irq_m_userTimer2_handler | ( | void | ) |
#include <mtrap.h>
ID: 23, Handler for User Timer 2 interrupts.
| int irq_m_watchDog0_handler | ( | void | ) |
#include <mtrap.h>
ID: 26, Handler for WatchDog Timer interrupts.
| void trap | ( | void | ) |
#include <mtrap.h>
Main C Trap Dispatcher.
Called by trap_entry after context save. It reads mcause to determine if the event was an Interrupt (Async) or Exception (Sync).
| void trap_entry | ( | void | ) |
#include <mtrap.h>
The Main Trap Entry Point (Naked).
This function is the hardware vector target (written to mtvec).