How to diagnose a boot failure



1 Introduction[edit]

The blue and red LEDs on STM32MP15 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]

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 can be TF-A or U-Boot SPL and the SSBL is U-Boot, as explained in the boot chains 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 TF-A - How to debug 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 How to debug a Linux kernel crash to investigate the failure
Blinking Off Your platform is alive Enjoy !

Light-emitting diode

First Stage Boot Loader

Trusted Firmware for Arm Cortex-A

Secondary Program Loader, Also known as U-Boot SPL

Second Stage Boot Loader

Attachments

Discussions