IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: U-Boot: Recovery
Contents
Introduction
This article describes flashing U-Boot firmware image with a Linux Host using Universal Update Utility (hereinafter UUU).
Follow the Universal Update Utility instructions to install and setup the UUU tool on a host Linux station. |
Getting Recovery U-Boot Firmware Image
- Download the IOT-GATE-IMX8PLUS firmware recovery image from the U-boot section of IOT-GATE-IMX8PLUS Resources to the host Linux station.
- Extract the archive on the host Linux station:
unzip iot-gate-imx8plus_firmware-recovery-image.zip -d /path/to/iot-gate-imx8plus-firmware
Determining RAM size
Determine the correct DRAM size of the IOT-GATE-IMX8PLUS according to the label located on the bottom side of the device. DRAM size is encoded in the unit's D option.
Use the table below to determine DRAM_CONF value:
Product D Option | DRAM_CONF |
---|---|
D1 | d1d8 |
D2 | d2d4 |
D4 | d2d4 |
D8 | d1d8 |
Flashing U-Boot Firmware
- Power off the IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS device.
- Connect the IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS micro-USB Programming (PROG) port with the host Linux station USB port using a standard micro-USB cable.
- Power on the IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS device via the main DC input.
- Issue the following commands on the host Linux station:
uuu -lsusb
- Expected output:
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.4-0-gbdea8bd Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion ================================================== 1:533 MX865 SDPS: 0x1FC9 0x0146 0x0002
- Flash U-Boot Firmware. Replace <DRAM_CONF> with the actual value:
sudo uuu -d -v -b emmc /path/to/iot-gate-imx8plus-firmware/flash.bin.<DRAM_CONF>
- Make sure the deployment is completed with no error
After Installation
- Turn off the device
- Disconnect the micro-USB cable from the device's programming port
- Turn on the device
- Press a key to prevent a possible autoboot and get into the U-Boot command prompt
- Restore default boot environment, save it and reset device:
env default -a ; saveenv ; reset