From 05efccc874f34bf16dbc925946c5bbd06cd2d968 Mon Sep 17 00:00:00 2001 From: Arksine Date: Fri, 24 Apr 2020 14:29:56 -0400 Subject: stm32f1: Add support for HID Bootloader Signed-off-by: Eric Callahan --- src/stm32/stm32f1.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/stm32/stm32f1.c') 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(); } -- cgit v1.2.3-70-g09d2