Skip to main content
Graduate
December 29, 2025
Question

STM32U5G9BJYXQ Bootloader not responding to 0x7F

  • December 29, 2025
  • 3 replies
  • 76 views

Hello,

    Developing a firmware to update the application via Bootloader over USART2. But, the STM32U5G9BJYXQ is not responding on 0x7F. The MCU is successfully starts from the NSBOOTADD1(0x0bf90000) on driving the BOOT0 pin high while deasserting the reset. The USB-USART tool is sending a proper 0x7F, verified by oscilloscope. Please point to what I might be missing.   

    This topic has been closed for replies.

    3 replies

    Graduate II
    December 29, 2025

    I have very few information to help You:

    - Did You try to program you Board (custom?) with the STM32CubeProgrammer (using USART2)?

    - Do You use the right Pin's for USART2 (PA2, PA3)?

    - Are You able to use USART2 in your Application?

    Graduate
    December 29, 2025

    Thanks for your reply. Yes, for all of the cases you've asked for.

    Graduate
    December 29, 2025

    While continuing debugging, found some information which might explain the case more.

    HSE = 25 MHz

    Target system boot-loader interface: USART2, PA2, PA3

    Ref.: 

    STM32 boot and startup tips - 2 Embedded bootloader investigations  

    Register dump after NRST de-assert while BOOT0 high:

    # Command:
    /Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/MacOs/bin/STM32_Programmer_CLI -c port=JLINK mode=HOTPLUG ap=0 -r32 0x40003800 0x40 -r32 0x40004400 0x40 -r32 0x40004800 0x40 -r32 0x40005400 0x40 -r32 0x40005800 0x40 -r32 0x4000A400 0x40 -r32 0x40013000 0x40 -r32 0x40013800 0x40 -r32 0x42040000 0x40 -r32 0x46002000 0x40 -r32 0x46002800 0x40

    # Output (raw):
    -------------------------------------------------------------------
    STM32CubeProgrammer v2.21.0
    -------------------------------------------------------------------

    Connecting to J-Link/Flasher Probe
    Device=Cortex-M33
    Device ID : 0x476
    Voltage : 3.01V
    Frequency : 4000 KHz
    Flash size : 4 MBytes

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40003800
    0x40003800 : 00000001 00000000 00078007 00000000
    0x40003810 : 00000000 00000000 00000000 00000000
    0x40003820 : 00000000 00000000 00000000 00000000
    0x40003830 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40004400
    0x40004400 : 0000140D 00500000 00000000 00000209
    0x40004410 : 00000000 00000000 00000000 006000D0
    0x40004420 : 00000000 00000000 00000000 00000000
    0x40004430 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40004800
    0x40004800 : 0000140D 00500000 00000000 00000209
    0x40004810 : 00000000 00000000 00000000 006000D0
    0x40004820 : 00000000 00000000 00000000 00000000
    0x40004830 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40005400
    0x40005400 : 00000001 00000000 000080D2 00000000
    0x40005410 : 00800000 00000000 00000001 00000000
    0x40005420 : 00000000 00000000 00000000 00000000
    0x40005430 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40005800
    0x40005800 : 00000001 00000000 000080D2 00000000
    0x40005810 : 00800000 00000000 00000001 00000000
    0x40005820 : 00000000 00000000 00000000 00000000
    0x40005830 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x4000A400
    0x4000A400 : 32141218 87654321 00000000 00000A33
    0x4000A410 : 00000080 00000000 00000001 06000A03
    0x4000A420 : 00000000 00000000 FFFF0000 0000FFFF
    0x4000A430 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40013000
    0x40013000 : 00000001 00000000 00078007 00000000
    0x40013010 : 00000000 00000000 00000000 00000000
    0x40013020 : 00000000 00000000 00000000 00000000
    0x40013030 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x40013800
    0x40013800 : 0000140D 00500000 00000000 00000209
    0x40013810 : 00000000 00000000 00000000 006000D0
    0x40013820 : 00000000 00000000 00000000 00000000
    0x40013830 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x42040000
    0x42040000 : 00010000 00000000 00000000 00001400
    0x42040010 : 80000001 04000020 00000000 00000000
    0x42040020 : 00000000 00000400 04000400 00080400
    0x42040030 : 00000000 00000000 00000008 00005000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x46002000
    0x46002000 : 00000001 00000000 00078007 00000000
    0x46002010 : 00000000 00000000 00000000 00000000
    0x46002020 : 00000000 00000000 00000000 00000000
    0x46002030 : 00000000 00000000 00000000 00000000

    Reading 32-bit memory content
    Size : 64 Bytes
    Address: : 0x46002800
    0x46002800 : 00000001 00000000 000080D2 00000000
    0x46002810 : 00800000 00000000 00000001 00000000
    0x46002820 : 00000000 00000000 00000000 00000000
    0x46002830 : 00000000 00000000 00000000 00000000

    Graduate II
    December 29, 2025

    And? Maybe try HSE 24 instead 25, but issue can be on many points. Check errata , check other Progversion etc.

    MM1_0-1767016271954.png

     

    Super User
    December 29, 2025

    Even parity?

    If another interface is active, such as USB, it'll connect there and USART won't respond.