IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Recovery

From Compulab Mediawiki
Jump to: navigation, search

Introduction

The following scenarios can lead to a bricked device:

  • U-Boot update failure.
  • U-Boot update with corrupted image.

In that case U-Boot recovery is needed.

Creating The Recovery SD Card

unzip iot-gate-imx8_firmware-recovery-image.zip
  • Use a Linux workstation and an SD card reader to write the U-Boot recovery image on an SD card.
Replace /dev/sdX with the actual SD card device:
sudo dd if=iot-gate-imx8_firmware-recovery_2022-08-02.img of=/dev/sdX bs=1M status=progress

Flashing The Device U-Boot

  • Install the recovery SD card in the IOTG-ACC-M2SD module.
The IOTG-ACC-M2SD module is included in the evaluation kit.
  • Power off the IOT-GATE-iMX8/SBC-IOT-iMX8 unit.
  • If a secondary storage module is installed, remove the module from socket P14.
  • Install the IOTG-ACC-M2SD module in socket P14.
  • Install jumper E1.
  • Power on the IOT-GATE-iMX8/SBC-IOT-iMX8 unit.
  • Load the U-Boot image to the RAM.
u-boot=> mmc partconf 2 0 1 0
u-boot=> load mmc 1 ${loadaddr} iot-gate-imx8-firmware
  • Make shure that the image was loaded:
1666004 bytes read in 153 ms (10.4 MiB/s)
  • Write the U-Boot image to the internal storage:
u-boot=> mmc dev 2 1; mmc write ${loadaddr} 0x42 0xE00
  • Power off the IOT-GATE-iMX8/SBC-IOT-iMX8 unit.
  • Remove jumper E1.
  • Power on the IOT-GATE-iMX8/SBC-IOT-iMX8 unit.