Skip to content

Commit

Permalink
Make bootloader_jump for dualbank STM32 respect STM32_BOOTLOADER_DUAL…
Browse files Browse the repository at this point in the history
…_BANK_DELAY
  • Loading branch information
preisi committed May 21, 2022
1 parent afdf1c2 commit 0a2bb08
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/platformdev_chibios_earlyinit.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
4 changes: 2 additions & 2 deletions platforms/chibios/bootloaders/stm32_dfu.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand All @@ -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();
Expand Down

0 comments on commit 0a2bb08

Please sign in to comment.