X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstm%2Fao_interrupt.c;h=4915628590017450b01ea7432406976c0d29afce;hb=db7f17980c303e442f88c8a4168351dbc2c0b1a0;hp=a423d8b13b1f76ad4ab2524602da956e8a74eadb;hpb=282f0451dd141db3304ab73e4020a849e59721eb;p=fw%2Faltos diff --git a/src/stm/ao_interrupt.c b/src/stm/ao_interrupt.c index a423d8b1..49156285 100644 --- a/src/stm/ao_interrupt.c +++ b/src/stm/ao_interrupt.c @@ -18,6 +18,7 @@ #include #include "stm32l.h" #include +#include extern void main(void); extern char __stack__; @@ -36,7 +37,18 @@ void stm_ignore_isr(void) { } -void start(void) { +const void *stm_interrupt_vector[]; + +void start(void) +{ +#ifdef AO_BOOT_CHAIN + ao_boot_check_chain(); +#endif +#ifdef AO_BOOT_PIN + ao_boot_check_pin(); +#endif + /* Set interrupt vector table offset */ + stm_nvic.vto = (uint32_t) &stm_interrupt_vector; memcpy(&__data_start__, &__text_end__, &__data_end__ - &__data_start__); memset(&__bss_start__, '\0', &__bss_end__ - &__bss_start__); main();