2021-04-15 01:06 PM
2021-04-19 12:34 AM
RM0454 contains the Flash Option Bytes in section 3.4.1 and lists an ST production value of 0xDFFF'E1AA for the User and read protection option bytes.
That means nBoot0 = nBoot1 = nBOOT_SEL = 1, which meets pattern 11, condidtion 3 in AN2606, if the Flash is empty:
nBoot0(bit) = 1, nBOOT0_SEL(bit) = 1, BOOT_LOCK(bit) = 0 and main Flash memory empty
(please note that BOOT_LOCK(bit) is only available in the STM32G0x1 and is read as 0 in STM32G0x0)
This also means that you have to reset nBOOT_SEL (bit) to 0 during programming via the bootloader, otherwise the device cannot be accessed later via Boot0 (pin) = 1 after programming.
Good luck!
When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.
/Peter
2021-04-16 02:21 AM
As you can find in AN2606, the STM32F030 uses bootloader activation pattern 11:
Boot0(pin) = 1, nBoot1(bit) = 1 and nBOOT0_SEL (bit) = 0
So, additionally to BOOT0 you also need to set both bits in the user option bytes, e.g. using the STM32CubeProgrammer. The boot configuration is also described in RM0454, section 2.5.
Regards
/Peter
2021-04-18 11:54 PM
Hello,
If MCU is not in bootloader mode, I can not connect programmer to it via UART, so I can not change this bit.
What is the default value of this bit.
Thank you.
2021-04-19 12:09 AM
do you have access to the SWV debugger pins? thats the way you resurrect a bricked/not bootloading mcu
2021-04-19 12:16 AM
OK thank you
2021-04-19 12:34 AM
RM0454 contains the Flash Option Bytes in section 3.4.1 and lists an ST production value of 0xDFFF'E1AA for the User and read protection option bytes.
That means nBoot0 = nBoot1 = nBOOT_SEL = 1, which meets pattern 11, condidtion 3 in AN2606, if the Flash is empty:
nBoot0(bit) = 1, nBOOT0_SEL(bit) = 1, BOOT_LOCK(bit) = 0 and main Flash memory empty
(please note that BOOT_LOCK(bit) is only available in the STM32G0x1 and is read as 0 in STM32G0x0)
This also means that you have to reset nBOOT_SEL (bit) to 0 during programming via the bootloader, otherwise the device cannot be accessed later via Boot0 (pin) = 1 after programming.
Good luck!
When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.
/Peter