ibex_demo/src/ibex_it.c

35 lines
765 B
C

#include <stdint.h>
#include <stdio.h>
#include "soc_peripherals.h"
void Generic_ExceptionCallback(void) {
printf("Generic exception handler!!\r\n");
for(;;) {
//
}
}
__attribute__((interrupt)) void Generic_TimerCallback(void) {
TIMER0->TCSR0 |= (1 << 0x08); // Clear interrupt;
SysTick++;
}
__attribute__((interrupt)) void Generic_TrapCallback(void) {
printf("Trap!!\r\n");
uint32_t mepc, mcause, mstatus;
__csrr("mepc", mepc);
__csrr("mcause", mcause);
__csrr("mstatus", mstatus);
printf("mepc: 0x%08x, mcause: 0x%08x, mstatus: 0x%08x\r\n", mepc, mcause, mstatus);
for(;;) {
}
}
__attribute__((interrupt)) void NMI_Handler(void) {
printf("NMI occurred!!\r\n");
for(;;) {
//
}
}