diff options
author | Arksine <arksine.code@gmail.com> | 2020-04-24 14:29:56 -0400 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2020-05-28 14:44:51 -0400 |
commit | 05efccc874f34bf16dbc925946c5bbd06cd2d968 (patch) | |
tree | 05587f828c5a87f3cf801ccce740ee4dccf4b585 /src/stm32/stm32f1.c | |
parent | 4b9b705b992dd7f919b397b48fa4fcded2a89a3c (diff) | |
download | kutter-05efccc874f34bf16dbc925946c5bbd06cd2d968.tar.gz kutter-05efccc874f34bf16dbc925946c5bbd06cd2d968.tar.xz kutter-05efccc874f34bf16dbc925946c5bbd06cd2d968.zip |
stm32f1: Add support for HID Bootloader
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Diffstat (limited to 'src/stm32/stm32f1.c')
-rw-r--r-- | src/stm32/stm32f1.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/stm32/stm32f1.c b/src/stm32/stm32f1.c index 97a6ade4..cad28f31 100644 --- a/src/stm32/stm32f1.c +++ b/src/stm32/stm32f1.c @@ -112,13 +112,18 @@ gpio_peripheral(uint32_t gpio, uint32_t mode, int pullup) void usb_request_bootloader(void) { - if (!CONFIG_STM32_FLASH_START_2000) + if (!(CONFIG_STM32_FLASH_START_2000 || CONFIG_STM32_FLASH_START_800)) return; - // Enter "stm32duino" bootloader + // Enter "stm32duino" or HID bootloader irq_disable(); RCC->APB1ENR |= RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN; PWR->CR |= PWR_CR_DBP; - BKP->DR10 = 0x01; + if (CONFIG_STM32_FLASH_START_800) + // HID Bootloader magic key + BKP->DR4 = 0x424C; + else + // stm32duino bootloader magic key + BKP->DR10 = 0x01; PWR->CR &=~ PWR_CR_DBP; NVIC_SystemReset(); } |