IOT-GATE-iMX7 and SBC-IOT-iMX7: U-Boot: Firmware Update
Contents
Introduction
The IOT-GATE-iMX7/SBC-IOT-iMX7 firmware consists of two components: Secondary Program Loader (SPL) and U-Boot, provided as a single U-Boot binary image cl-som-imx7-firmware. This article describes the firmware update process for IOT-GATE-iMX7/SBC-IOT-iMX7 product.
Preliminary setup
- Make sure to power off the IOT-GATE-iMX7/SBC-IOT-iMX7 device.
- Connect the host PC to the IOT-GATE-iMX7/SBC-IOT-iMX7 device (connector RS232) via the serial cable supplied with the evaluation kit.
- Start terminal emulation software on your PC with the following serial port settings:
Baud Rate Data Bits Stop Bits Parity Flow Control 115200 8 1 none none
- Turn on the IOT-GATE-iMX7/SBC-IOT-iMX7 device. The U-Boot boot-loader will start and a command prompt will be displayed.
Updating Firmware on the SPI flash
The firmware can be updated from an SD card, USB storage, or using network TFTP download. All methods are performed from the U-Boot command line and include following common steps:
- Loading binary image from the selected media to the IOT-GATE-iMX7/SBC-IOT-iMX7 DRAM
- Flashing image to the on-board SPI flash
Common preparation steps
- Set common parameters:
CL-SOM-iMX7 # setenv ubootsize 0xa0000; setenv loadaddr 0x80800000
Updating from SD card
- Copy the firmware binary image cl-som-imx7-firmware from U-Boot package for CL-SOM-iMX7 to the root directory of the SD card.
- Insert the MMC/SD card into the SD socket (P18) on the IOT-GATE-iMX7/SBC-IOT-iMX7.
- Start the U-Boot MMC subsystem:
CL-SOM-iMX7 # mmc dev 0 CL-SOM-iMX7 # mmc rescan
- Check that the storage device is ready:
CL-SOM-iMX7 # ls mmc 0
- Load the firmware binary into the memory:
CL-SOM-iMX7 # load mmc 0 ${loadaddr} cl-som-imx7-firmware
- Proceed to Flashing images section
Updating from USB storage
- Copy the firmware binary image cl-som-imx7-firmware from U-Boot package for CL-SOM-iMX7 to the root directory of the USB storage device.
- Plug the USB storage to either port on the dual USB host connector P10 or P13 of the IOT-GATE-iMX7/SBC-IOT-iMX7.
- Start the U-Boot USB subsystem:
CL-SOM-iMX7 # usb start
- Check that the storage device is ready:
CL-SOM-iMX7 # ls usb 0
- Load the firmware binary into the memory:
CL-SOM-iMX7 # load usb 0 ${loadaddr} cl-som-imx7-firmware
- Proceed to Flashing images section
Updating from TFTP server
- Setup a TFTP server
- Put the firmware binary image cl-som-imx7-firmware from U-Boot package for CL-SOM-iMX7 in the root directory of the TFTP server
- Setup U-Boot networking:
- for dynamic IP configuration:
CL-SOM-iMX7 # dhcp
- or for static IP configuration:
CL-SOM-iMX7 # setenv ipaddr <ip address>
- Setup the TFTP server ip address:
CL-SOM-iMX7 # setenv serverip <server ip>
- Download the firmware binary into the memory:
CL-SOM-iMX7 # tftpboot ${loadaddr} cl-som-imx7-firmware
- Proceed to Flashing images section
Flashing images
- Make U-Boot probe the on-board SPI flash:
CL-SOM-iMX7 # sf probe
- Erase the on-board SPI flash:
CL-SOM-iMX7 # sf erase 0 ${ubootsize}
- Write the firmware image into the on-board SPI flash:
CL-SOM-iMX7 # sf write ${loadaddr} 0 ${ubootsize}
- Reset the CL-SOM-iMX7 evaluation platform.
Default environment
It is recommended to set default environment after updating the U-Boot version:
CL-SOM-iMX7 # env default -a CL-SOM-iMX7 # saveenv