diff --git a/ports/stm32/boardctrl.h b/ports/stm32/boardctrl.h index 6f79dfb890..f1cbc3b955 100644 --- a/ports/stm32/boardctrl.h +++ b/ports/stm32/boardctrl.h @@ -28,6 +28,10 @@ #include "py/mpconfig.h" +#ifndef MICROPY_BOARD_STARTUP +#define MICROPY_BOARD_STARTUP powerctrl_check_enter_bootloader +#endif + #ifndef MICROPY_BOARD_EARLY_INIT #define MICROPY_BOARD_EARLY_INIT() #endif diff --git a/ports/stm32/main.c b/ports/stm32/main.c index bdf7328f68..888b20513c 100644 --- a/ports/stm32/main.c +++ b/ports/stm32/main.c @@ -313,8 +313,9 @@ void stm32_main(uint32_t reset_mode) { // Enable 8-byte stack alignment for IRQ handlers, in accord with EABI SCB->CCR |= SCB_CCR_STKALIGN_Msk; - // Check if bootloader should be entered instead of main application - powerctrl_check_enter_bootloader(); + // Hook for a board to run code at start up, for example check if a + // bootloader should be entered instead of the main application. + MICROPY_BOARD_STARTUP(); // Enable caches and prefetch buffers