瀏覽代碼

Make bootloader_jump for dualbank STM32 respect STM32_BOOTLOADER_DUAL_BANK_DELAY (#17178)

Thomas Preisner 3 年之前
父節點
當前提交
bbab8eb993
共有 2 個文件被更改,包括 3 次插入3 次删除
  1. 1 1
      docs/platformdev_chibios_earlyinit.md
  2. 2 2
      platforms/chibios/bootloaders/stm32_dfu.c

+ 1 - 1
docs/platformdev_chibios_earlyinit.md

@@ -20,7 +20,7 @@ As such, if you wish to override this API consider limiting use to writing to lo
 | `#define STM32_BOOTLOADER_DUAL_BANK`          | Relevant for dual-bank STM32 MCUs, signifies that a GPIO is to be toggled in order to enter bootloader mode.                                                                                                                                                                           | `FALSE`  |
 | `#define STM32_BOOTLOADER_DUAL_BANK_GPIO`     | Relevant for dual-bank STM32 MCUs, the pin to toggle when attempting to enter bootloader mode, e.g. `B8`                                                                                                                                                                               | `<none>` |
 | `#define STM32_BOOTLOADER_DUAL_BANK_POLARITY` | Relevant for dual-bank STM32 MCUs, the value to set the pin to in order to trigger charging of the RC circuit. e.g. `0` or `1`.                                                                                                                                                        | `0`      |
-| `#define STM32_BOOTLOADER_DUAL_BANK_DELAY`    | Relevant for dual-bank STM32 MCUs, an arbitrary measurement of time to delay before resetting the MCU. Increasing number increases the delay.                                                                                                                                          | `100000` |
+| `#define STM32_BOOTLOADER_DUAL_BANK_DELAY`    | Relevant for dual-bank STM32 MCUs, an arbitrary measurement of time to delay before resetting the MCU. Increasing number increases the delay.                                                                                                                                          | `100`    |
 
 Kinetis MCUs have no configurable options.
 

+ 2 - 2
platforms/chibios/bootloaders/stm32_dfu.c

@@ -38,7 +38,7 @@ extern uint32_t __ram0_end__;
 #    endif
 
 #    ifndef STM32_BOOTLOADER_DUAL_BANK_DELAY
-#        define STM32_BOOTLOADER_DUAL_BANK_DELAY 100000
+#        define STM32_BOOTLOADER_DUAL_BANK_DELAY 100
 #    endif
 
 __attribute__((weak)) void bootloader_jump(void) {
@@ -55,7 +55,7 @@ __attribute__((weak)) void bootloader_jump(void) {
 #    endif
 
     // Wait for a while for the capacitor to charge
-    wait_ms(100);
+    wait_ms(STM32_BOOTLOADER_DUAL_BANK_DELAY);
 
     // Issue a system reset to get the ROM bootloader to execute, with BOOT0 high
     NVIC_SystemReset();