Skip to main content
Visitor II
December 23, 2025
Question

How to jump to system bootloader from application code on STM32H573 microcontrollers

  • December 23, 2025
  • 3 replies
  • 58 views

I need to use embedded STM32H573 bootloader to update customer application using UART1 or uart3.

I try to use AN2606, but no success. May you provide correct code to jump from application to the embedded bootloader for specific processor model: STM32H573, please?

    This topic has been closed for replies.

    3 replies

    Graduate
    December 23, 2025
    #include "stm32h5xx.h"
    #define BOOT_ADDR 0x0BF97000
    #include "cm_boot.h" // https://github.com/gbm-ii/STM32_Inc/blob/main/cm_boot.h
    
    int main(void)
    {
    		
     app_start(BOOT_ADDR);	// start ST built-in bootloader
    }

    The code must be compiled with -O1 or above - see the comments in cm_boot.h

    ST Employee
    December 24, 2025

    Hello @pavelkotel 

    to enter the STM32H573 system bootloader using hardware (as described in AN2606):

    1. Connect the BOOT0 pin to HIGH (1).
    2. Press the RESET button.

    This will make the microcontroller start from the system memory bootloader instead of your application.

    Then, connect the board to your host using one of the USART interfaces shown in the figure (USART1,USART2 or USART3, depending on your hardware).

    you can also use STM32CubeProgrammer and select the appropriate USART interface when connecting to the board for firmware update.

    T_Hamdi_0-1766565804469.png

    Best regards,

    Hamdi

     

    Technical Moderator
    December 24, 2025

    Hello,

    You can refer to this knowledge base article: How to jump to system bootloader from application code on STM32 microcontrollers

    Hope that helps.