diff --git a/NANOVNA_STM32_F072/board.c b/NANOVNA_STM32_F072/board.c index f7d2f0e..0e71d6f 100644 --- a/NANOVNA_STM32_F072/board.c +++ b/NANOVNA_STM32_F072/board.c @@ -62,6 +62,25 @@ const PALConfig pal_default_config = { }; #endif +static bool needDFU(void) { + // Magick data in memory before reset + if (*((unsigned long *)BOOT_FROM_SYTEM_MEMORY_MAGIC_ADDRESS) == BOOT_FROM_SYTEM_MEMORY_MAGIC) + return true; + // init PortA (leveler port) and check press + rccEnableAHB(STM32_GPIO_EN_MASK, FALSE); + GPIOA->OTYPER = VAL_GPIOA_OTYPER; + GPIOA->OSPEEDR = VAL_GPIOA_OSPEEDR; + GPIOA->PUPDR = VAL_GPIOA_PUPDR; + GPIOA->ODR = VAL_GPIOA_ODR; + GPIOA->AFRL = VAL_GPIOA_AFRL; + GPIOA->AFRH = VAL_GPIOA_AFRH; + GPIOA->MODER = VAL_GPIOA_MODER; + if (palReadPort(GPIOA) & (1<