cancel
Showing results for 
Search instead for 
Did you mean: 

Enter System Bootloader by Software on STM32U375/85 + Flashing via UART

Vrushabh_1157
Associate

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.

Question 1 — Entering Bootloader via Software

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.

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

@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

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
mƎALLEm
ST Employee

Hello,

You need to refer to the AN3155 USART protocol used in the STM32 bootloader.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Vrushabh_1157
Associate

usart.PNGpattern 12.PNGHello @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


@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

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.