X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstm%2Fao_interrupt.c;h=1d563532b755cf7f1144400803ef0a034536febb;hb=ffbf340c516a7fff7c95b808586f623269fe4338;hp=eb1ed0b52ba1caa8698da8418709c64c96923a15;hpb=1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a;p=fw%2Faltos diff --git a/src/stm/ao_interrupt.c b/src/stm/ao_interrupt.c index eb1ed0b5..1d563532 100644 --- a/src/stm/ao_interrupt.c +++ b/src/stm/ao_interrupt.c @@ -24,7 +24,7 @@ extern void main(void); extern char __stack__; extern char __text_start__, __text_end__; -extern char __data_start__, __data_end__; +extern char _start__, _end__; extern char __bss_start__, __bss_end__; /* Interrupt functions */ @@ -77,13 +77,16 @@ void start(void) #ifdef AO_BOOT_CHAIN if (ao_boot_check_chain()) { #ifdef AO_BOOT_PIN - ao_boot_check_pin(); + if (ao_boot_check_pin()) #endif + { + ao_boot_chain(AO_BOOT_APPLICATION_BASE); + } } #endif /* Set interrupt vector table offset */ stm_nvic.vto = (uint32_t) &stm_interrupt_vector; - memcpy(&__data_start__, &__text_end__, &__data_end__ - &__data_start__); + memcpy(&_start__, &__text_end__, &_end__ - &_start__); memset(&__bss_start__, '\0', &__bss_end__ - &__bss_start__); main(); }