Add all interrupt/exception handlers with default alias

This commit is contained in:
Alexander Heldt
2024-07-28 11:38:02 +02:00
parent d23cb54d58
commit 11d10f41c2
6 changed files with 715 additions and 89 deletions

View File

@@ -1521,6 +1521,7 @@ void init_memory(void) {
}
}
void reset(void) {
(void)init_memory();
@@ -1531,8 +1532,149 @@ void reset(void) {
}
void nmi(void) __attribute__ ((weak, alias("default_handler")));
void hard_fault(void) __attribute__ ((weak, alias("default_handler")));
void mem_manage(void) __attribute__ ((weak, alias("default_handler")));
void bus_fault(void) __attribute__ ((weak, alias("default_handler")));
void usage_fault(void) __attribute__ ((weak, alias("default_handler")));
void sv_call(void) __attribute__ ((weak, alias("default_handler")));
void x(void) __attribute__ ((weak, alias("default_handler")));
void debug_monitor(void) __attribute__ ((weak, alias("default_handler")));
void pend_sv(void) __attribute__ ((weak, alias("default_handler")));
void systick(void) __attribute__ ((weak, alias("default_handler")));
void wwdg(void) __attribute__ ((weak, alias("default_handler")));
void pvd(void) __attribute__ ((weak, alias("default_handler")));
void tamp_stamp(void) __attribute__ ((weak, alias("default_handler")));
void rtc_wkup(void) __attribute__ ((weak, alias("default_handler")));
void flash(void) __attribute__ ((weak, alias("default_handler")));
void rcc(void) __attribute__ ((weak, alias("default_handler")));
void exti0(void) __attribute__ ((weak, alias("default_handler")));
void exti1(void) __attribute__ ((weak, alias("default_handler")));
void exti2(void) __attribute__ ((weak, alias("default_handler")));
void exti3(void) __attribute__ ((weak, alias("default_handler")));
void exti4(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream0(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream1(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream2(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream3(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream4(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream5(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream6(void) __attribute__ ((weak, alias("default_handler")));
void adc(void) __attribute__ ((weak, alias("default_handler")));
void exti9_5(void) __attribute__ ((weak, alias("default_handler")));
void tim1_brk_tim9(void) __attribute__ ((weak, alias("default_handler")));
void tim1_up_tim10(void) __attribute__ ((weak, alias("default_handler")));
void tim1_trg_com_tim11(void) __attribute__ ((weak, alias("default_handler")));
void tim1_cc(void) __attribute__ ((weak, alias("default_handler")));
void tim2(void) __attribute__ ((weak, alias("default_handler")));
void tim3(void) __attribute__ ((weak, alias("default_handler")));
void tim4(void) __attribute__ ((weak, alias("default_handler")));
void i2c1_ev(void) __attribute__ ((weak, alias("default_handler")));
void i2c1_er(void) __attribute__ ((weak, alias("default_handler")));
void i2c2_ev(void) __attribute__ ((weak, alias("default_handler")));
void i2c2_er(void) __attribute__ ((weak, alias("default_handler")));
void spi1(void) __attribute__ ((weak, alias("default_handler")));
void spi2(void) __attribute__ ((weak, alias("default_handler")));
void usart1(void) __attribute__ ((weak, alias("default_handler")));
void usart2(void) __attribute__ ((weak, alias("default_handler")));
void exti15_10(void) __attribute__ ((weak, alias("default_handler")));
void rtc_alarm(void) __attribute__ ((weak, alias("default_handler")));
void otg_fs_wkup(void) __attribute__ ((weak, alias("default_handler")));
void dma1_stream7(void) __attribute__ ((weak, alias("default_handler")));
void sdio(void) __attribute__ ((weak, alias("default_handler")));
void tim5(void) __attribute__ ((weak, alias("default_handler")));
void spi3(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream0(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream1(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream2(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream3(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream4(void) __attribute__ ((weak, alias("default_handler")));
void otg_fs(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream5(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream6(void) __attribute__ ((weak, alias("default_handler")));
void dma2_stream7(void) __attribute__ ((weak, alias("default_handler")));
void usart6(void) __attribute__ ((weak, alias("default_handler")));
void i2c3_ev(void) __attribute__ ((weak, alias("default_handler")));
void i2c3_er(void) __attribute__ ((weak, alias("default_handler")));
void fpu(void) __attribute__ ((weak, alias("default_handler")));
void spi4(void) __attribute__ ((weak, alias("default_handler")));
void spi5(void) __attribute__ ((weak, alias("default_handler")));
void default_handler(void) {
for (;;) (void) 0;
}
void (*const interrupt_vector_table[16 + 86])(void) __attribute__((section(".isr_vector"))) = {
stack_start,
reset
reset,
nmi,
hard_fault,
mem_manage,
bus_fault,
usage_fault,
0, 0, 0, 0,
sv_call,
debug_monitor,
0,
pend_sv,
systick,
wwdg,
pvd,
tamp_stamp,
rtc_wkup,
flash,
rcc,
exti0,
exti1,
exti2,
exti3,
exti4,
dma1_stream0,
dma1_stream1,
dma1_stream2,
dma1_stream3,
dma1_stream4,
dma1_stream5,
dma1_stream6,
adc,
exti9_5,
tim1_brk_tim9,
tim1_up_tim10,
tim1_trg_com_tim11,
tim1_cc,
tim2,
tim3,
tim4,
i2c1_ev,
i2c1_er,
i2c2_ev,
i2c2_er,
spi1,
spi2,
usart1,
usart2,
exti15_10,
rtc_alarm,
otg_fs_wkup,
dma1_stream7,
sdio,
tim5,
spi3,
dma2_stream0,
dma2_stream1,
dma2_stream2,
dma2_stream3,
dma2_stream4,
otg_fs,
dma2_stream5,
dma2_stream6,
dma2_stream7,
usart6,
i2c3_ev,
i2c3_er,
fpu,
spi4,
spi5
};