#pragma once #include /** Reference to the global ISR vector. */ extern char isr_vector; /** Default IRQ handler. This is weakly defined and can be overridden. */ void default_irq_handler(void); /** Weakly defined interrput service routine vectors. These just alias to * default_irq_handler if not overridden. */ void irq_on_nmi(void); void irq_on_exc(void); void irq_on_systick(void); void irq_on_swi(void); void irq_on_tmr0(void); void irq_on_gpio_a(void); void irq_on_gpio_b(void); void irq_on_spi0(void); void irq_on_blel(void); void irq_on_bleb(void); void irq_on_usb(void); void irq_on_tmr1(void); void irq_on_tmr2(void); void irq_on_uart0(void); void irq_on_uart1(void); void irq_on_rtc(void); void irq_on_adc(void); void irq_on_pwmx(void); void irq_on_tmr3(void); void irq_on_uart2(void); void irq_on_uart3(void); void irq_on_wdog_bat(void); #define IRQ(name) void __attribute__((__section__(".isr_vector"))) name(void)