summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-02-03 13:20:51 +1100
committerDamien George <damien@micropython.org>2022-02-03 13:20:51 +1100
commit4f918f4b26ec2c949f6832b972cdab80506b7038 (patch)
treed2d7d1bc7f7fd19ec87cf8fc188b278be937e59c
parentb8d55d4c52145e3ef2abf692a01a3ffce3ee78d0 (diff)
stm32/mboot: Add MBOOT_BOARD_ENTRY_INIT for a board to add entry code.
Also change the signature of stm32_main to uint32_t, which is what it should be. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/stm32/mboot/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ports/stm32/mboot/main.c b/ports/stm32/mboot/main.c
index d62224b1a..abde92de1 100644
--- a/ports/stm32/mboot/main.c
+++ b/ports/stm32/mboot/main.c
@@ -1439,7 +1439,7 @@ static void leave_bootloader(void) {
extern PCD_HandleTypeDef pcd_fs_handle;
extern PCD_HandleTypeDef pcd_hs_handle;
-void stm32_main(int initial_r0) {
+void stm32_main(uint32_t initial_r0) {
#if defined(STM32H7)
// Configure write-once power options, and wait for voltage levels to be ready
PWR->CR3 = PWR_CR3_LDOEN;
@@ -1524,6 +1524,10 @@ enter_bootloader:
__ASM volatile ("msr basepri_max, %0" : : "r" (pri) : "memory");
#endif
+ #if defined(MBOOT_BOARD_ENTRY_INIT)
+ MBOOT_BOARD_ENTRY_INIT(initial_r0);
+ #endif
+
#if defined(MBOOT_SPIFLASH_ADDR)
MBOOT_SPIFLASH_SPIFLASH->config = MBOOT_SPIFLASH_CONFIG;
mp_spiflash_init(MBOOT_SPIFLASH_SPIFLASH);