IOT-GATE-iMX7 and SBC-IOT-iMX7: U-Boot: Firmware Update

From Compulab Mediawiki
Jump to: navigation, search

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.
Admolition note.png If the boot settings of your IOT-GATE-iMX7/SBC-IOT-iMX7 device are different than the default, you may need to press and hold Ctrl-C while turning the IOT-GATE-iMX7/SBC-IOT-iMX7 device on, in order to get command prompt.

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:

  1. Loading binary image from the selected media to the IOT-GATE-iMX7/SBC-IOT-iMX7 DRAM
  2. 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

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

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

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

See also