STM32 G071 System bootloader question
I am trying to use the system bootloader G071 MCU with NUCLEO board using USART2. The factory programmed flash option bytes are 0xFFFFFEAA, and after I modify the nBOOT0 bit the MCU resets and the bootloader is activated after setting FLASH->CR |= FLASH_CR_OBL_LAUNCH; as expected. I use Pattern 11 (nBoot0(bit) = 0, nBoot1(bit) = 1, nBOOT0_SEL(bit) = 1 and BOOT_LOCK(bit) = 0)
I am able to upload the application successfully without any errors/NACKs to 0x0800 0000, but the bootloader is not deactivated after the Go command. I can see that the option bits still remain modified as 0xFBFFFEAA (nBoot0(bit) = 0). The application in the main flash does not start after POR.
Now, I can see that (AN3155, p. 16) "the bootloader firmware initializes the registers of the peripherals used by the bootloader to their default reset values..." But then in (AN2606 p.29) "When executing the Go command, the peripheral registers used by the bootloader are NOT initialized to their default reset values before jumping to the user application". I would assume that the flash option bits should also reset to their original values. Also, what may as well be the reason, AN2606, p. 230: "Option byte launch missing when using USART protocol" - specific for STM32G07xx/08xxx, BL ver. V11.2.
So my question is - whether I am doing something wrong or there is an MCU bug that prevents resetting the flash option register after execution of the Go command.
