Skip to main content
Explorer II
October 3, 2024
Question

STM32C0xx BOOT0 PIN Legacy mode

  • October 3, 2024
  • 1 reply
  • 1077 views

Good morning,

We designed a LED controller with the STM32C011. We exposed the BOOT0 PIN in our design as followed:

NickvanIJzendoorn_0-1727941798010.png

NickvanIJzendoorn_2-1727942358582.png

 

Now the first prototypes are potted in without access to the SWD interface and we want to update the firmware via the internal bootloader.

However we discovered after the PCB's has been potted in, that you first have to set the nBOOT_SEL to 0 in the option bytes via the ST-Link (or internal bootloader / firmware) before the BOOT0 pin functionality will become available.

NickvanIJzendoorn_1-1727942193724.png

I know it's a long shot, but is there any way to somehow still end up in the bootloader without any support from the firmware?

Anyway, let this be a warning for other people who want to relay on the BOOT0 functionality which for the STM32C0xx series first have to be configured in legacy mode via the option bytes.

PS. maybe the name should have been changed, to give people a hint that the default ST's BOOT0 eco system is not applied in this MCU.

    This topic has been closed for replies.

    1 reply

    Graduate II
    October 3, 2024

    Yes if the device il "empty" the bootloader will start always (if the BOOT_LOCK bit is not set) see 3.1.4 in RM0490:

    MHoll2_0-1727952634829.png

    So You should have the possibility to enter the bootloader for the 1. download of Your application, then your application has to set the nBOOT_SEL to 0, so You have legacy access to the bootloader via BOOT0.

    Martin

    Explorer II
    October 3, 2024

    They where already programmed before they got potted in. So I was hoping that somehow via a hack (some flashes erase on high voltage for example, or maybe there is some SWCLK magic, I don't know...) I could erase the existing application and/or execute the bootloader anyway.

    Super User
    October 3, 2024

    If the SWD pins are not available, and the option bytes are at default, and a program is in flash, there is no way to get back into the bootloader.