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

[quality revision] [quality revision]
m
m
 
Applicable for STM32MP13x lines, STM32MP15x lines

1 Introduction[edit]

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]

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 !


== <noinclude>{{ApplicableFor
|MPUs list=STM32MP13x,STM32MP15x
|MPUs checklist=STM32MP13x, STM32MP15x
}}</noinclude>

== Introduction ==
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32 MPU 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 ==
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|boot chain 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 [[STM32 MPU ROM code overview|ROM code]] execution
| Check that:<br />

* your microSD card is properly inserted in the board
* the [[STM32 MPU 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 [[How to debug TF-A BL2]] 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 [[Dmesg and Linux kernel log]] 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>
(One intermediate revision by one other user not shown)
Line 1: Line 1:
  +
<noinclude>{{ApplicableFor
  +
|MPUs list=STM32MP13x,STM32MP15x
  +
|MPUs checklist=STM32MP13x, STM32MP15x
  +
}}</noinclude>
 
== Introduction ==
 
== Introduction ==
 
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32 MPU boards]] are used to notify the user in case of boot failure during the [[Boot chain overview|boot chain]] execution and at runtime.<br />
 
The blue and red [[LEDs and buttons on STM32 MPU boards|LEDs on STM32 MPU boards]] are used to notify the user in case of boot failure during the [[Boot chain overview|boot chain]] execution and at runtime.<br />
Line 20: Line 24:
 
| Check that:<br />
 
| Check that:<br />
 
* your microSD card is properly inserted in the board
 
* your microSD card is properly inserted in the board
* the [[STM32 MPU ROM code overview#Boot device selection via the boot pins and OTP|boot pins]] configuration selects the boot device
+
* the [[STM32 MPU ROM code overview#Boot device selection|boot pins]] configuration selects the boot device
 
* your boot memory was well programmed with [[STM32CubeProgrammer]]
 
* your boot memory was well programmed with [[STM32CubeProgrammer]]
 
|-
 
|-