qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

commit 2976bd627e5963ed14431cc402015b5a1a46105d
parent 20318278528b99247c729ee6c0f0f6d14c296c6b
Author: Nick Brassel <nick@tzarc.org>
Date:   Tue,  4 Jul 2023 21:16:14 +1000

Fixup STM32-DFU (#21447)


Diffstat:
Mplatforms/chibios/bootloaders/stm32_dfu.c | 15++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c @@ -107,6 +107,12 @@ void enter_bootloader_mode_if_requested(void) { if (bootloader_marker_active()) { bootloader_marker_disable(); + struct system_memory_vector_t { + uint32_t stack_top; + void (*entrypoint)(void); + }; + const struct system_memory_vector_t *bootloader = (const struct system_memory_vector_t *)(STM32_BOOTLOADER_ADDRESS); + __disable_irq(); # if defined(QMK_MCU_ARCH_CORTEX_M7) @@ -128,16 +134,11 @@ void enter_bootloader_mode_if_requested(void) { NVIC->ICPR[i] = 0xFFFFFFFF; } + __set_CONTROL(0); + __set_MSP(bootloader->stack_top); __enable_irq(); - struct system_memory_vector_t { - uint32_t stack_top; - void (*entrypoint)(void); - }; - const struct system_memory_vector_t *bootloader = (const struct system_memory_vector_t *)(STM32_BOOTLOADER_ADDRESS); - // Jump to bootloader - __set_MSP(bootloader->stack_top); bootloader->entrypoint(); while (true) { }