Difference between revisions of "CM-T335: U-Boot: Firmware Update"

From Compulab Mediawiki
Jump to: navigation, search
(Updating from USB)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
The CM-T335 Firmware consists of two components: Secondary Program Loader (SPL) and U-Boot.
+
The CompuLab CM-T335 System-on-Module / Computer-on-Module 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.
 
This article describes the firmware update process for CM-T335 system-on-module product.
  
Line 25: Line 25:
 
=== Updating from micro SD card ===
 
=== Updating from micro SD card ===
 
* Copy the firmware binary images {{filename|MLO}} and {{filename|u-boot.img}} from [http://compulab.co.il/products/computer-on-modules/cm-t335/#devres U-Boot package for CM-T335] to the root directory of the micro SD card.
 
* Copy the firmware binary images {{filename|MLO}} and {{filename|u-boot.img}} from [http://compulab.co.il/products/computer-on-modules/cm-t335/#devres U-Boot package for CM-T335] to the root directory of the micro SD card.
 +
{{Note|The partition has to be formatted with either ext2/3/4 or FAT file system.}}
 
* Insert the micro SD card into the micro SD socket (P23) on SB-T335.
 
* Insert the micro SD card into the micro SD socket (P23) on SB-T335.
 
* Start the U-Boot MMC subsystem:
 
* Start the U-Boot MMC subsystem:
Line 32: Line 33:
 
* Check that the storage device is ready:
 
* Check that the storage device is ready:
 
<pre>
 
<pre>
# fatls mmc 0
+
# ls mmc 0:1
 
</pre>
 
</pre>
 
* Load the SPL binary into memory:
 
* Load the SPL binary into memory:
 
<pre>
 
<pre>
# fatload mmc 0 80a00000 mlo
+
# load mmc 0:1 80a00000 mlo
 
</pre>
 
</pre>
 
* Load the U-Boot binary into memory:
 
* Load the U-Boot binary into memory:
 
<pre>
 
<pre>
# fatload mmc 0 80100000 u-boot.img
+
# load mmc 0:1 80100000 u-boot.img
 
</pre>
 
</pre>
 
* Proceed to [[#Flashing images|Flashing images]] section
 
* Proceed to [[#Flashing images|Flashing images]] section
Line 46: Line 47:
 
=== Updating from USB ===
 
=== Updating from USB ===
 
* Copy the firmware binary images {{filename|MLO}} and {{filename|u-boot.img}} from [http://compulab.co.il/products/computer-on-modules/cm-t335/#devres U-Boot package for CM-T335] to the root directory of the first partition on the USB storage device.
 
* Copy the firmware binary images {{filename|MLO}} and {{filename|u-boot.img}} from [http://compulab.co.il/products/computer-on-modules/cm-t335/#devres U-Boot package for CM-T335] to the root directory of the first partition on the USB storage device.
{{Note|Make sure the type of the first partition on the USB storage device is FAT (e.g. W95 FAT32).}}
+
{{Note|The partition has to be formatted with either ext2/3/4 or FAT file system.}}
 
* Plug the USB storage device into:
 
* 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 host connector (either P25, P26, P27 or P28) on SB-T335 if the CM-T335 module has U4 configuration or
Line 56: Line 57:
 
* Check that the storage device is ready:
 
* Check that the storage device is ready:
 
<pre>
 
<pre>
# fatls usb 0
+
# ls usb 0:1
 
</pre>
 
</pre>
 
* Load the SPL binary into memory:
 
* Load the SPL binary into memory:
 
<pre>
 
<pre>
# fatload usb 0 80a00000 mlo
+
# load usb 0:1 80a00000 mlo
 
</pre>
 
</pre>
 
* Load the U-Boot binary into memory:
 
* Load the U-Boot binary into memory:
 
<pre>
 
<pre>
# fatload usb 0 80100000 u-boot.img
+
# load usb 0:1 80100000 u-boot.img
 
</pre>
 
</pre>
 
* Proceed to [[#Flashing images|Flashing images]] section
 
* Proceed to [[#Flashing images|Flashing images]] section
Line 106: Line 107:
 
* Write the U-Boot image into the on-board NAND flash:
 
* Write the U-Boot image into the on-board NAND flash:
 
<pre>
 
<pre>
# nand write 80100000 200000 60000;
+
# nand write 80100000 200000 80000;
 
</pre>
 
</pre>
 
* Remove the micro SD card from the micro SD socket.
 
* Remove the micro SD card from the micro SD socket.

Latest revision as of 06:05, 28 September 2016

Introduction

The CompuLab CM-T335 System-on-Module / Computer-on-Module 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

Admolition note.png The partition has to be formatted with either ext2/3/4 or FAT file system.
  • 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:
# ls mmc 0:1
  • Load the SPL binary into memory:
# load mmc 0:1 80a00000 mlo
  • Load the U-Boot binary into memory:
# load mmc 0:1 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 The partition has to be formatted with either ext2/3/4 or FAT file system.
  • 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:
# ls usb 0:1
  • Load the SPL binary into memory:
# load usb 0:1 80a00000 mlo
  • Load the U-Boot binary into memory:
# load usb 0:1 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 80000;
  • Remove the micro SD card from the micro SD socket.
  • Reset the CM-T335 evaluation platform.

See also