#include "uart.h" void setup(void); void reset_handler(void) { static _Bool setup_done; if (!setup_done) setup(); setup_done = 1; // TODO do something here while(1); } void __attribute__((interrupt("UNDEF"))) __attribute__((section(".interrupts.text"))) undefined_instruction_vector(void) { uart_puts("Undefined instruction occured"); while( 1 ) { /* Do Nothing! */ } } void supervisor_call_handler(void) { uart_puts("something svc happened\n\r"); while(1); } void __attribute__((interrupt("ABORT"))) abort_handler(void) { uart_puts("re-entered system\n\r"); while(1); } void generic_handler(void) { uart_puts("something weird happened\n\r"); while(1); } void irq_handler(void) { uart_puts("irq happened\n\r"); while(1); } void fiq_handler(void) { uart_puts("fiq happened\n\r"); while(1); }