2025-12-03 8:55 PM - last edited on 2025-12-04 12:37 AM by Andrew Neil
Hello,
We are using STM32U375xx/85xx MCUs and want to implement firmware update over UART using another MCU (ESP32-S3) in out application.
The ESP32 will send the .bin firmware to the STM32 without using any ST utility (e.g., CubeProgrammer).
From the STM32 AN2606 bootloader document, I understand that normally BOOT0/BOOT1 pins must be set to enter System Memory.
We want to enter the system bootloader purely by software, without toggling hardware BOOT pins.
How can this be done on the STM32U3 series?
Question 2 — Flashing Over UART from ESP32
Could someone provide the correct sequence for flashing a .bin into STM32U375/85 using the UART bootloader protocol?
(ESP32 will send the commands directly — no STM32CubeProgrammer involved.)
Steps I am looking for:
entering bootloader
UART initialization
bootloader command sequence (GET, GETID, ERASE, WRITE, GO)
any STM32U3-specific notes
Thanks in advance for any guidance.
Solved! Go to Solution.
2025-12-09 2:39 AM
@Vrushabh_1157 wrote:
Hello @mƎALLEm,
However, I want to enter the system bootloader from my application code, without using the hardware BOOT pins.
Please refer to this knowledge base: How to jump to system bootloader from application code on STM32 microcontrollers
2025-12-04 2:22 AM
Hello,
You need to refer to the AN3155 USART protocol used in the STM32 bootloader.
2025-12-09 2:31 AM - edited 2025-12-09 3:22 AM
Hello @mƎALLEm,
Thank you for your response.
I read the AN2606 document, which explains the USART configuration and the bootloader settings.
Normally, to flash a .hex or .bin file, we need to boot from the System Memory using the BOOT pins. However, I want to boot(system boot) my ST controller using from my application code, without using the hardware BOOT pins. In other words, I want to trigger the bootloader by software instead of configuring the BOOT pins physically.
Note - I am not using STM programmer utility or any STM utility
Thanks,
Vrushabh Kale
2025-12-09 2:39 AM
@Vrushabh_1157 wrote:
Hello @mƎALLEm,
However, I want to enter the system bootloader from my application code, without using the hardware BOOT pins.
Please refer to this knowledge base: How to jump to system bootloader from application code on STM32 microcontrollers