cancel
Showing results for 
Search instead for 
Did you mean: 

Request for Guidance on Software-Only Firmware Update Mechanism through USB

Rajendra_2002
Visitor

I am using the STM32U585RIT6 MCU with the B-U585I-IOT02A development kit. My primary focus is on USB, and in my project, I have enabled USB CDC-ACM, through which data and messages are transmitted over USB.
For this project, I need to enable firmware update support. I have been searching for a suitable example, but most available examples require manual interaction with the hardware—such as setting the BOOT0 pin high and resetting the board, or pressing a user button to jump to the bootloader and perform the firmware update via a programmer.
However, I do not want any physical interaction with the board. I need the firmware update to be triggered purely through software, perform the update, and reset the device without manually changing the BOOT0 pin or pressing any buttons.
Is this possible? If so, what are the steps that need to be followed, and are there any reference examples available for this approach?

1 REPLY 1
TDK
Super User

Jump to the bootloader in software, do the update, and reset the chip.

Here is how to jump to the bootloader in software. Don't jump from within an interrupt.

How to jump to system bootloader from application ... - STMicroelectronics Community

 

You can obviously make your own custom bootloader as well, but it's a lot easier to use the built in USB DFU bootloader along with STM32CubeProgrammer CLI.

If you feel a post has answered your question, please click "Accept as Solution".