Last edited one year ago

How to diagnose a boot failure

Applicable for STM32MP13x lines, STM32MP15x lines

1. Introduction[edit | edit source]

The blue and red LEDs on STM32 MPU boards are used to notify the user in case of boot failure during the boot chain execution and at runtime.

2. Description and debug[edit | edit source]

The statuses of blue and red LEDs allow to see at which stage the execution failed: the diagram below shows how each boot component uses these LEDs while the table gives more information on the way to interpret the LED statuses when the boot fails. Among the boot components, the FSBL is TF-A and the SSBL is U-Boot, as explained in the boot chain overview.

How to diagnose a boot failure.png


Blue LED Red LED System state Action
Off Blinking The execution failed during ROM code execution Check that:
  • your microSD card is properly inserted in the board
  • the boot pins configuration selects the boot device
  • your boot memory was well programmed with STM32CubeProgrammer
On Blinking The execution failed during the second stage bootloader (SSBL) See U-Boot - How to debug to investigate the failure
Off Off The execution may have failed:
  1. In FSBL execution
  2. After the SSBL execution but before the heartbeat (blue LED) started

  1. See How to debug TF-A BL2 to investigate the failure
  2. See U-Boot - How to debug and how to trace and debug to investigate the failure
Off or on Off The execution may have failed during Linux® kernel execution between two heartbeat pulses (blue LED): a fatal error leading to a kernel panic might have occurred... See Dmesg and Linux kernel log to investigate the failure
Blinking Off Your platform is alive Enjoy !