CM-T335: U-Boot: Firmware Update

From Compulab Mediawiki
Revision as of 12:03, 2 April 2014 by Ilya (talk) (Updating from USB)
Jump to: navigation, search

Introduction

The CM-T335 Firmware consists of two components: Secondary Program Loader (SPL) and U-Boot. This article describes the firmware update process for CM-T335 system-on-module product.

Preliminary setup

  • Make sure to power off the CM-T335 evaluation platform.
  • Connect the host PC to the SB-T335 base-board (connector P11) 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-T335 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-T335 are different than default, you may need to press and hold ^C while turning the CM-T335 on, in order to get command prompt.

Updating Firmware on the micro SD card

The firmware can be updated using a workstation with a micro SD card reader, or using CM-T335 module Linux environment.

  • To update the SPL, just replace it's binary file (MLO) on the micro SD card with the desired version.
  • To update the U-Boot, just replace the U-Boot binary file (u-boot.img) on the micro SD card with the desired version.
  • Plug the micro SD card into the micro SD card socket of the SB-T335.
  • Reset/power on the CM-T335 evaluation system to boot the updated firmware.

Updating Firmware on the NAND flash

CM-T335 firmware can be updated from a micro SD card or using network TFTP download. Both methods are performed from the U-Boot command line and include following common steps:

  1. Loading binary images from the selected media to the CM-T335 DRAM
  2. Flashing images to the on-board NAND flash

Updating from micro SD card

  • Copy the firmware binary images MLO and u-boot.img from U-Boot package for CM-T335 to the root directory of the micro SD card.
  • Insert the micro SD card into the micro SD socket (P23) on SB-T335.
  • Start the U-Boot MMC subsystem:
# mmc rescan
  • Check that the storage device is ready:
# fatls mmc 0
  • Load the SPL binary into memory:
# fatload mmc 0 80a00000 mlo
  • Load the U-Boot binary into memory:
# fatload mmc 0 80100000 u-boot.img

Updating from USB

  • Copy the firmware binary images MLO and u-boot.img from U-Boot package for CM-T335 to the root directory of the first partition on the USB storage device.
Admolition note.png Make sure the type of the first partition on the USB storage device is FAT (e.g. W95 FAT32).
  • Plug the USB storage device into:
    • USB host connector (either P25, P26, P27 or P28) on SB-T335 if the CM-T335 module has U4 configuration or
    • USB OTG connector (P19) on SB-T335 if the CM-T335 module has U1 configuration
  • Start the U-Boot USB subsystem:
# usb start
  • Check that the storage device is ready:
# fatls usb 0
  • Load the SPL binary into memory:
# fatload usb 0 80a00000 mlo
  • Load the U-Boot binary into memory:
# fatload usb 0 80100000 u-boot.img

Updating from TFTP server

  • Setup a TFTP server
  • Put the firmware binary images MLO and u-boot.img 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>
# setenv serverip <server ip>
  • Download the SPL binary into memory:
# tftp 80a00000 MLO
  • Download the U-Boot binary into memory:
# tftp 80100000 u-boot.img

Flashing images

  • Erase the on-board NAND flash for SPL image:
# nand erase 0 80000
  • Write the SPL image into the on-board NAND flash:
# nand write 80a00000 0 20000;
  • Erase the on-board NAND flash for U-Boot image:
# nand erase 200000 80000 
  • Write the U-Boot image into the on-board NAND flash:
# nand write 80100000 200000 60000;
  • Remove the micro SD card from the micro SD socket.
  • Reset the CM-T335 evaluation platform.

See also