CL-SOM-iMX7: U-Boot: Firmware Update

From Compulab Mediawiki
Revision as of 07:17, 8 December 2016 by Grinberg (talk | contribs) (Updating from TFTP server)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

The CL-SOM-iMX7 firmware consists of single U-Boot binary image cl-som-imx7-firmware. This article describes the firmware update process for CL-SOM-iMX7 system-on-module product.

Preliminary setup

  • Make sure to power off the CL-SOM-iMX7 evaluation platform.
  • Connect the host PC to the SBC-iMX7 base-board (connector P8) 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 CL-SOM-iMX7 evaluation system. The U-Boot boot-loader will start and a command prompt will be displayed.
Admolition note.png If the boot settings of your CL-SOM-iMX7 are different than the default, you may need to press and hold Ctrl-C while turning the CL-SOM-iMX7 on, in order to get command prompt.

Updating Firmware on the SPI flash

CL-SOM-iMX7 firmware can be updated from an SD card, USB storage, or using network TFTP download. Both methods are performed from the U-Boot command line and include following common steps:

  1. Loading binary image from the selected media to the CL-SOM-iMX7 DRAM
  2. Flashing image to the on-board SPI flash

Common preparation steps

  • Reset the U-Boot environment to default state:
CL-SOM-iMX7 # env default -a
  • Clean up the address space in order to allow the SPI flash burn with a fixed size:
CL-SOM-iMX7 # setenv ubootsize 0x80000; mw.b ${loadaddr} 0 ${ubootsize}

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 (P9) on the SBC-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 P6 of the SBC-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} 0x400 ${ubootsize}
  • Reset the CL-SOM-iMX7 evaluation platform.

See also