Difference between revisions of "How to diagnose a boot failure"

[quality revision] [quality revision]
m
 

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 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 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 !


== Introduction ==
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32MP15 boards]] are used to notify the user in case of boot failure during the [[Boot chainschain overview|boot chain]] execution and at runtime.<br />


== Description and debug ==
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 chainschain overview|boot chainschain overview]].<br /><br />


[[File:How_to_diagnose_a_boot_failure.png|center]]<br />


{|
! Blue LED
! Red LED
! System state
! Action
|-
| Off
| Blinking
| The execution failed during [[STM32MP15 ROM code overview|ROM code]] execution
| Check that:<br />

* your microSD card is properly inserted in the board
* the [[STM32MP15_ROM_code_overview#Boot device selection via the boot pins and OTP|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:<br />

# In FSBL execution
# After the SSBL execution but before the heartbeat (blue LED) started
| <br />

# See [[TF-A - How to debug]] to investigate the failure
# See [[U-Boot - How to debug]] and [[:Category:How_to_trace_and_debug|how to trace and debug]] to investigate the failure
|-
| Off or on
| Off
| The execution may have failed during Linux<sup>&reg;</sup> 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 !
|}
<noinclude>

[[Category:How to trace and debug]]
{{PublicationRequestId | 8902 | 2018-09-21 | AnneJ}}</noinclude>
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32MP15 boards]] are used to notify the user in case of boot failure during the [[Boot chains overview|boot chain]] execution and at runtime.<br />
+
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32MP15 boards]] are used to notify the user in case of boot failure during the [[Boot chain overview|boot chain]] execution and at runtime.<br />
   
 
== Description and debug ==
 
== Description and debug ==
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|boot chains overview]].
+
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 chain overview|boot chain overview]].
 
<br /><br />
 
<br /><br />