#include "uart.h" /** @brief The undefined instruction interrupt handler If an undefined instruction is encountered, the CPU will start executing this function. Just trap here as a debug solution. */ void __attribute__((interrupt("UNDEF"))) undefined_instruction_vector(void) { uart_puts("Undefined instruction occured"); while( 1 ) { /* Do Nothing! */ } } __irq void IRQHandler (void) { volatile unsigned int *base = (unsigned int *) 0x80000000; if (*base == 1) // which interrupt was it? { uart_putc(*base); // process the interrupt } *(base+1) = 0; // clear the interrupt }