cancel
Showing results for 
Search instead for 
Did you mean: 

Bootload feature for stm32C013

zin10
Associate II

Product: SMT32C013
Issue: firmware download in bootmode

Details: 

I’ve recently started firmware development and, with community help, I’ve managed to create firmware for STM8 and several STM32 devices. Until now, I’ve always programmed the MCU using ST-Link—either by debugging or by drag-and-dropping the binary file.

Due to new system design requirements, I’d like to create a GUI tool to download firmware using the built-in bootloader. According to AN2606 and the MCU datasheet (STM32C013 series), the bootloader supports two interfaces:

  • USART1 on PA9/PA10

  • I²C on PB6/PB7

Here are my questions:

  1. If PA9/PA10 and PB6/PB7 are already allocated to GPIOs for LEDs, buttons, or other connectivity, can they still be used for bootloading? Or does their existing allocation block firmware download?

  2. If those pins are unavailable, are there any alternative methods to download firmware via bootloader (besides ST-Link)?

  3. What is In-Application Programming (IAP) bootloading approach? 
  4. Bootloading Pattern: details below

The documentation also refers to Pattern 11 for bootloader activation, listing conditions like:

  • BOOT_LOCK(bit) = 0, nBoot1(bit) = 1, nBOOT0_SEL(bit) = 1, nBoot0(bit) = 0

  • BOOT_LOCK(bit) = 0, nBoot1(bit) = 1, Boot0(pin) = 1, nBOOT0_SEL(bit) = 0

  • BOOT_LOCK(bit) = 0, nBOOT0_SEL(bit) = 1, nBoot0(bit) = 1, and main flash empty

  • BOOT_LOCK(bit) = 0, Boot0(pin) = 0, nBOOT0_SEL(bit) = 0, and main flash empty

I’m having difficulty understanding how to apply this in a real setup. Could anyone explain how Pattern 11 actually works and how I can configure it to reliably enter bootloader mode?

0 REPLIES 0