Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches

Overview

Weak aliases for all PLIC interrupt sources.

Warning
IMPLEMENTATION FILE: This header contains function definitions and weak aliases. It must be included exactly once in the project (typically by irq.c or a dedicated vector.c), otherwise linker errors will occur.
Note
These definitions allow the application to override a specific handler (e.g., irq_m_user_timer_0_handler) by simply defining it in main.c. If not defined, they default to irq_handleDefault.

Example of modifying default IRQ function with custom content

// Assign a task to timer 0 interrupt handler, and override the default handler.
// When timer 0 interrupt fires, it will execute the user-defined function instead of the default one.
printf("Entering timer 0 interrupt routine .. \n");
count++;
printf("Count:%d .. Done \n",count);
}
#define printf(...)
Definition bsp.h:65
int irq_m_userTimer0_handler(void)
User Timer (IDs 21-25).

Functions

int irq_handleDefault (void)
 Default Fallback Interrupt Handler.
int irq_m_uart0_handler (void)
 UART (IDs 1-3) Meaning: Machine Mode UART 0 Handler.
int irq_m_uart1_handler (void)
int irq_m_uart2_handler (void)
int irq_m_spi0_handler (void)
 SPI (IDs 6-8).
int irq_m_spi1_handler (void)
int irq_m_spi2_handler (void)
int irq_m_i2c0_handler (void)
 I2C (IDs 11-15).
int irq_m_i2c1_handler (void)
int irq_m_i2c2_handler (void)
int irq_m_i2c3_handler (void)
int irq_m_i2c4_handler (void)
int irq_m_gpio0_0_handler (void)
 GPIO (IDs 16-19).
int irq_m_gpio0_1_handler (void)
int irq_m_gpio1_0_handler (void)
int irq_m_gpio1_1_handler (void)
int irq_m_userTimer0_handler (void)
 User Timer (IDs 21-25).
int irq_m_userTimer1_handler (void)
int irq_m_userTimer2_handler (void)
int irq_m_userTimer3_handler (void)
int irq_m_userTimer4_handler (void)
int irq_m_watchDog0_handler (void)
 WatchDog Timer (IDs 26-27).
int irq_m_watchDog1_handler (void)
int irq_m_axiA_handler (void)
 AXI A (ID 30).
int irq_m_l2Cache_handler (void)
 L2 Cache Control (ID 31).
int irq_m_user_a_handler (void)
 User Interrupts (IDs 32-39) /*.
int irq_m_user_b_handler (void)
int irq_m_user_c_handler (void)
int irq_m_user_d_handler (void)
int irq_m_user_e_handler (void)
int irq_m_user_f_handler (void)
int irq_m_user_g_handler (void)
int irq_m_user_h_handler (void)
int irq_m_invalid_handler (void)
 System Interrupts.
int irq_m_system_axi_a_handler (void)
int irq_m_watch_dog_handler (void)

Function Documentation

◆ irq_handleDefault()

int irq_handleDefault ( void )

#include <irq_handler_stub.h>

Default Fallback Interrupt Handler.

Invoked if an interrupt fires but no specific handler is defined.

Returns
0

Definition at line 68 of file irq_handler_stub.h.

◆ irq_m_axiA_handler()

int irq_m_axiA_handler ( void )

#include <irq_handler_stub.h>

AXI A (ID 30).

◆ irq_m_gpio0_0_handler()

int irq_m_gpio0_0_handler ( void )

#include <irq_handler_stub.h>

GPIO (IDs 16-19).

◆ irq_m_gpio0_1_handler()

int irq_m_gpio0_1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_gpio1_0_handler()

int irq_m_gpio1_0_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_gpio1_1_handler()

int irq_m_gpio1_1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_i2c0_handler()

int irq_m_i2c0_handler ( void )

#include <irq_handler_stub.h>

I2C (IDs 11-15).

◆ irq_m_i2c1_handler()

int irq_m_i2c1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_i2c2_handler()

int irq_m_i2c2_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_i2c3_handler()

int irq_m_i2c3_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_i2c4_handler()

int irq_m_i2c4_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_invalid_handler()

int irq_m_invalid_handler ( void )

#include <irq_handler_stub.h>

System Interrupts.

◆ irq_m_l2Cache_handler()

int irq_m_l2Cache_handler ( void )

#include <irq_handler_stub.h>

L2 Cache Control (ID 31).

◆ irq_m_spi0_handler()

int irq_m_spi0_handler ( void )

#include <irq_handler_stub.h>

SPI (IDs 6-8).

◆ irq_m_spi1_handler()

int irq_m_spi1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_spi2_handler()

int irq_m_spi2_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_system_axi_a_handler()

int irq_m_system_axi_a_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_uart0_handler()

int irq_m_uart0_handler ( void )

#include <irq_handler_stub.h>

UART (IDs 1-3) Meaning: Machine Mode UART 0 Handler.

◆ irq_m_uart1_handler()

int irq_m_uart1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_uart2_handler()

int irq_m_uart2_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_a_handler()

int irq_m_user_a_handler ( void )

#include <irq_handler_stub.h>

User Interrupts (IDs 32-39) /*.

◆ irq_m_user_b_handler()

int irq_m_user_b_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_c_handler()

int irq_m_user_c_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_d_handler()

int irq_m_user_d_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_e_handler()

int irq_m_user_e_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_f_handler()

int irq_m_user_f_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_g_handler()

int irq_m_user_g_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_user_h_handler()

int irq_m_user_h_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_userTimer0_handler()

int irq_m_userTimer0_handler ( void )

#include <irq_handler_stub.h>

User Timer (IDs 21-25).

◆ irq_m_userTimer1_handler()

int irq_m_userTimer1_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_userTimer2_handler()

int irq_m_userTimer2_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_userTimer3_handler()

int irq_m_userTimer3_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_userTimer4_handler()

int irq_m_userTimer4_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_watch_dog_handler()

int irq_m_watch_dog_handler ( void )

#include <irq_handler_stub.h>

◆ irq_m_watchDog0_handler()

int irq_m_watchDog0_handler ( void )

#include <irq_handler_stub.h>

WatchDog Timer (IDs 26-27).

◆ irq_m_watchDog1_handler()

int irq_m_watchDog1_handler ( void )

#include <irq_handler_stub.h>