CM-FX6: U-Boot: Firmware Update

From Compulab Mediawiki
Revision as of 14:16, 29 June 2014 by Nikita (talk | contribs) (Updating from USB storage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

The CM-FX6 firmware consists of two components: Secondary Program Loader (SPL) and U-Boot, both provided on a single binary image cm-fx6-firmware. This article describes the firmware update process for CM-FX6 system-on-module product.

Preliminary setup

  • Make sure to power off the CM-FX6 evaluation platform.
  • Connect the host PC to the SB-FX6 base-board (connector P60) via the serial cable supplied with the evaluation kit.
  • Start terminal emulation software on your PC. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.
  • Turn on the CM-FX6 evaluation system. The U-Boot boot-loader will start and you will get a command prompt in the terminal window.
Admolition note.png If the boot settings of your CM-FX6 are different than default, you may need to press and hold ^C while turning the CM-FX6 on, in order to get command prompt.

Updating Firmware on the SPI flash

CM-FX6 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 CM-FX6 DRAM
  2. Flashing image to the on-board SPI flash

Updating from SD card

  • Copy the firmware binary image cm-fx6-firmware from U-Boot package for CM-FX6 to the root directory of the SD card.
  • Insert the SD card into the SDIO3(BOOT) socket on SB-FX6.
  • Start the U-Boot MMC subsystem:
# mmc dev 2
# mmc rescan
  • Check that the storage device is ready:
# fatls mmc 2
  • Load the firmware binary into the memory:
# fatload mmc 2 10800000 cm-fx6-firmware

Updating from USB storage

  • Copy the firmware binary image cm-fx6-firmware from U-Boot package for CM-FX6 to the root directory of the USB storage device.
  • Plug the USB storage device into the USB host connector (P13) on SB-FX6.
  • Start the U-Boot USB subsystem:
# usb start
  • Check that the storage device is ready:
# fatls usb 0
  • Load the firmware binary into the memory:
# fatload usb 0 10800000 cm-fx6-firmware

Updating from TFTP server

  • Setup a TFTP server
  • Put the firmware binary image cm-fx6-firmware in the root directory of the TFTP server
  • Setup U-Boot networking:
for dynamic IP configuration:
# dhcp
or for static IP configuration:
# setenv ipaddr <ip address>
  • Setup the TFTP server ip address:
# setenv serverip <server ip>
  • Download the SPL binary into the memory:
# tftp 10800000 cm-fx6-firmware

Flashing images

  • Make U-Boot probe the on-board SPI flash:
# sf probe 0
  • Erase the on-board SPI flash:
# sf erase 0 80000
  • Write the firmware image into the on-board SPI flash:
# sf write 10800000 0 80000
  • Reset the CM-FX6 evaluation platform.

See also