Skip to main content
Visitor II
November 17, 2025
Question

UART bootloader mode does not work after the board has been programmed

  • November 17, 2025
  • 3 replies
  • 548 views

Dear Sir,

My board is equipped with STM32G431 MCU. 

I found that the UART DFU mode of my board does not work after the flash of the MCU has been programmed. The UART DFU mode can only work with a blank MCU that have not been programmed before. I have only used the default setting in the CubeProgrammer.

I appreciate if you can give me any suggestion.

    This topic has been closed for replies.

    3 replies

    Technical Moderator
    November 17, 2025

    Hello @teddyw and welcome to the ST community,

    There is no UART DFU mode. They are separated things: DFU: bootloader over USB and bootloader over UART.

    So you mean the bootloader over UART?

    You need to provide the exact steps you followed to program the MCU with the ST bootloader.

    teddywAuthor
    Visitor II
    November 17, 2025

    I have no idea it is DFU or Bootloader UART. I am just using CubeProgrammer UART to communicate with the board. ST has doc mentioning about DFU and bootstrap. Please clarify.  

    teddywAuthor
    Visitor II
    November 17, 2025

    Hi,

    I have set the BOOT0 pin to high during power up then what mode should the MCU go into ?

    Is it bootstrap or DFU ?

    Technical Moderator
    November 17, 2025

    Hi @teddyw 

    Do you have the same issue with reference board?

     

    Graduate
    November 17, 2025

    It sounds like your application code may be changing the boot configuration or blocking the bootloader from starting. Check your option bytes, especially BOOT0 and nBOOT_SEL, and make sure the user code isn’t disabling the system bootloader. Also confirm the UART pins are free at reset. If DFU only works when the MCU is blank, it usually means the boot mode settings are being overwritten once the firmware is flashed.

    teddywAuthor
    Visitor II
    November 24, 2025

    I have already check the OB. It is the same as the virgin new board.

    teddyw_0-1763978543927.pngteddyw_1-1763978581390.png

    It looks like there is something else causing the programmed board having difficulty to start communication with the UART bootloader.