Difference between revisions of "CM-T3x: U-Boot: Firmware Update"
(→See also) |
(→U-Boot packages) |
||
Line 3: | Line 3: | ||
== Introduction == | == Introduction == | ||
This article describes firmware update process for CM-T3x system-on-module product line. The CM-T3x product line includes the following modules: | This article describes firmware update process for CM-T3x system-on-module product line. The CM-T3x product line includes the following modules: | ||
− | * [http://compulab.co.il/ | + | * [http://compulab.co.il/products/computer-on-modules/cm-t3517/ CM-T3517] |
− | * [http://compulab.co.il/ | + | * [http://compulab.co.il/products/computer-on-modules/cm-t3530/ CM-T3530] |
== Preliminary setup == | == Preliminary setup == | ||
Line 15: | Line 15: | ||
Both methods are performed from the U-Boot command line. | Both methods are performed from the U-Boot command line. | ||
− | CM-T3x Firmware consists of two components: X-Loader and U-Boot. The U-Boot bootloader can be installed and updated independently without updating the existing X-Loader. | + | CM-T3x Firmware consists of two components: X-Loader and U-Boot. The U-Boot bootloader can be installed and updated independently without updating the existing X-Loader. |
+ | In newer versions of U-Boot, X-Loader can also be updated independantly and without updating U-Boot. | ||
+ | If only U-Boot update is necessary, please continue to [[CM-T3x: U-Boot: Firmware Update#CM-T3x_U-Boot_Update|CM-T3x U-Boot Update]] section. | ||
== CM-T3x X-Loader Update == | == CM-T3x X-Loader Update == | ||
− | {{Warning|'''X-Loader | + | {{Warning|'''Older U-Boot versions can only install X-Loader to completely erased NAND flash! The procedure for older U-Boot versions erases the entire NAND flash!'''}} |
+ | |||
=== MMC/SD card === | === MMC/SD card === | ||
* Copy {{filename|x-load.bin.ift}} from [[CM-T3x:_U-Boot:_Firmware_Update#U-Boot packages|U-Boot package for CM-T3x]] to the root directory of the MMC/SD card. | * Copy {{filename|x-load.bin.ift}} from [[CM-T3x:_U-Boot:_Firmware_Update#U-Boot packages|U-Boot package for CM-T3x]] to the root directory of the MMC/SD card. | ||
* Insert the MMC/SD card into the SD socket (P13) on SB-T35. | * Insert the MMC/SD card into the SD socket (P13) on SB-T35. | ||
− | * Start the U-Boot MMC subsystem | + | * Start the U-Boot MMC subsystem: |
+ | On older versions of U-Boot: | ||
<pre> | <pre> | ||
# mmc init | # mmc init | ||
+ | </pre> | ||
+ | On newer versions of U-Boot: | ||
+ | <pre> | ||
+ | # mmc rescan | ||
+ | </pre> | ||
+ | |||
+ | * Check that the storage device is ready and contains the X-Loader binary: | ||
+ | <pre> | ||
# fatls mmc 0 | # fatls mmc 0 | ||
</pre> | </pre> | ||
− | * Load the X-Loader into memory | + | * Load the X-Loader into memory: |
<pre> | <pre> | ||
# fatload mmc 0 80a00000 x-load.bin.ift | # fatload mmc 0 80a00000 x-load.bin.ift | ||
</pre> | </pre> | ||
− | * Proceed to [[CM-T3x: U-Boot: Firmware Update#Flashing X-Loader|Flashing X-Loader]] section | + | * Proceed to the [[CM-T3x: U-Boot: Firmware Update#Flashing X-Loader|Flashing X-Loader]] section |
=== TFTP download === | === TFTP download === | ||
Line 37: | Line 49: | ||
* Put the X-Loader binary in the root directory of TFTP server | * Put the X-Loader binary in the root directory of TFTP server | ||
* Setup U-Boot networking: | * Setup U-Boot networking: | ||
+ | : for dynamic IP configuration: | ||
<pre> | <pre> | ||
# dhcp | # dhcp | ||
</pre> | </pre> | ||
− | : for | + | : or for static IP configuration: |
<pre> | <pre> | ||
# setenv ipaddr <ip address> | # setenv ipaddr <ip address> | ||
# setenv serverip <server ip> | # setenv serverip <server ip> | ||
</pre> | </pre> | ||
− | + | * Download the X-Loader to the CM-T3x RAM: | |
− | * Download the X-Loader to the CM-T3x RAM | ||
<pre> | <pre> | ||
# tftp 80a00000 x-load.bin.ift | # tftp 80a00000 x-load.bin.ift | ||
Line 54: | Line 66: | ||
=== Flashing X-Loader === | === Flashing X-Loader === | ||
{{Warning| Do not reset or power off the CM-T3x during the update process! Doing so may result in nand flash corruption!}} | {{Warning| Do not reset or power off the CM-T3x during the update process! Doing so may result in nand flash corruption!}} | ||
− | * | + | * Select NAND ECC type: |
<pre> | <pre> | ||
# nandecc hw | # nandecc hw | ||
+ | </pre> | ||
+ | * Erase the on-board NAND flash: | ||
+ | On older versions of U-Boot (Note that the below command will erase the whole NAND flash data): | ||
+ | <pre> | ||
# nand erase | # nand erase | ||
# nand scrub | # nand scrub | ||
+ | </pre> | ||
+ | On newer versions of U-Boot: | ||
+ | <pre> | ||
+ | # nand erase 0 20000 | ||
+ | # nand scrub 0 20000 | ||
+ | </pre> | ||
+ | * Write the X-Loader image into the on-board NAND flash: | ||
+ | <pre> | ||
# nand write 80a00000 0 20000; | # nand write 80a00000 0 20000; | ||
</pre> | </pre> | ||
− | {{Important| | + | {{Important|On older U-Boot versions it is essential to install U-Boot immediately after X-Loader update}} |
== CM-T3x U-Boot Update == | == CM-T3x U-Boot Update == | ||
+ | |||
=== MMC/SD card === | === MMC/SD card === | ||
* Copy {{filename|u-boot.bin}} from [[CM-T3x:_U-Boot:_Firmware_Update#U-Boot packages|U-Boot package for CM-T3x]] to the root directory of the MMC/SD card. | * Copy {{filename|u-boot.bin}} from [[CM-T3x:_U-Boot:_Firmware_Update#U-Boot packages|U-Boot package for CM-T3x]] to the root directory of the MMC/SD card. | ||
− | * Insert the MMC/SD card into the SD socket (P13) on SB-T35. | + | * Insert the MMC/SD card into the SD socket (P13) on SB-T35. |
− | * Start the U-Boot MMC subsystem and | + | * Start the U-Boot MMC subsystem and scan for available storage devices: |
+ | : On older U-Boot versions: | ||
<pre> | <pre> | ||
# mmc init | # mmc init | ||
+ | </pre> | ||
+ | : On newer U-Boot versions: | ||
+ | <pre> | ||
+ | # mmc rescan | ||
+ | </pre> | ||
+ | * Check that your storage device is ready and contains the U-Boot binary: | ||
+ | <pre> | ||
# fatls mmc 0 | # fatls mmc 0 | ||
</pre> | </pre> | ||
− | * Load the U-Boot into the CM-T3x RAM | + | * Load the U-Boot into the CM-T3x RAM: |
<pre> | <pre> | ||
# fatload mmc 0 80a00000 u-boot.bin | # fatload mmc 0 80a00000 u-boot.bin | ||
Line 83: | Line 116: | ||
* Put the U-Boot binary in the root directory of TFTP server | * Put the U-Boot binary in the root directory of TFTP server | ||
* Setup U-Boot networking: | * Setup U-Boot networking: | ||
+ | : for dynamic IP configuration: | ||
<pre> | <pre> | ||
# dhcp | # dhcp | ||
</pre> | </pre> | ||
− | : for | + | : or for static IP configuration: |
<pre> | <pre> | ||
# setenv ipaddr <ip address> | # setenv ipaddr <ip address> | ||
# setenv serverip <server ip> | # setenv serverip <server ip> | ||
</pre> | </pre> | ||
− | + | * Download the U-Boot to the CM-T3x RAM: | |
− | * Download the U-Boot to the CM-T3x RAM | ||
<pre> | <pre> | ||
# tftp 80a00000 u-boot.bin | # tftp 80a00000 u-boot.bin | ||
Line 109: | Line 142: | ||
== U-Boot packages == | == U-Boot packages == | ||
− | * [http:// | + | U-Boot packages can be found by the following links: |
− | * [http:// | + | * [http://compulab.co.il/products/computer-on-modules/cm-t3517/#devres CM-T3517 development resources] |
+ | * [http://compulab.co.il/products/computer-on-modules/cm-t3530/#devres CM-T3530 development resources] | ||
== See also == | == See also == |
Revision as of 13:44, 16 August 2012
Failure in CM-T3x firmware update may prevent proper boot from on-board NAND flash. It is recommended to create a bootable MMC/SD card before updating CM-T3x firmware |
Contents
Introduction
This article describes firmware update process for CM-T3x system-on-module product line. The CM-T3x product line includes the following modules:
Preliminary setup
- Make sure to power off the CM-T3x evaluation platform
- Connect the host PC to the SB-T35 base-board (connector P12) 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-T3x evaluation system. The U-Boot boot-loader will start and you will get a command prompt.
If the boot settings of your CM-T3x are different than default, you may need to press and hold ^C while turning the CM-T3x on, in order to get command prompt. |
CM-T3x firmware can be updated from an MMC/SD card or using network TFTP download. Both methods are performed from the U-Boot command line.
CM-T3x Firmware consists of two components: X-Loader and U-Boot. The U-Boot bootloader can be installed and updated independently without updating the existing X-Loader. In newer versions of U-Boot, X-Loader can also be updated independantly and without updating U-Boot. If only U-Boot update is necessary, please continue to CM-T3x U-Boot Update section.
CM-T3x X-Loader Update
Older U-Boot versions can only install X-Loader to completely erased NAND flash! The procedure for older U-Boot versions erases the entire NAND flash! |
MMC/SD card
- Copy x-load.bin.ift from U-Boot package for CM-T3x to the root directory of the MMC/SD card.
- Insert the MMC/SD card into the SD socket (P13) on SB-T35.
- Start the U-Boot MMC subsystem:
On older versions of U-Boot:
# mmc init
On newer versions of U-Boot:
# mmc rescan
- Check that the storage device is ready and contains the X-Loader binary:
# fatls mmc 0
- Load the X-Loader into memory:
# fatload mmc 0 80a00000 x-load.bin.ift
- Proceed to the Flashing X-Loader section
TFTP download
- Setup TFTP server
- Put the X-Loader binary in the root directory of 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 X-Loader to the CM-T3x RAM:
# tftp 80a00000 x-load.bin.ift
- Proceed to Flashing X-Loader section
Flashing X-Loader
Do not reset or power off the CM-T3x during the update process! Doing so may result in nand flash corruption! |
- Select NAND ECC type:
# nandecc hw
- Erase the on-board NAND flash:
On older versions of U-Boot (Note that the below command will erase the whole NAND flash data):
# nand erase # nand scrub
On newer versions of U-Boot:
# nand erase 0 20000 # nand scrub 0 20000
- Write the X-Loader image into the on-board NAND flash:
# nand write 80a00000 0 20000;
On older U-Boot versions it is essential to install U-Boot immediately after X-Loader update |
CM-T3x U-Boot Update
MMC/SD card
- Copy u-boot.bin from U-Boot package for CM-T3x to the root directory of the MMC/SD card.
- Insert the MMC/SD card into the SD socket (P13) on SB-T35.
- Start the U-Boot MMC subsystem and scan for available storage devices:
- On older U-Boot versions:
# mmc init
- On newer U-Boot versions:
# mmc rescan
- Check that your storage device is ready and contains the U-Boot binary:
# fatls mmc 0
- Load the U-Boot into the CM-T3x RAM:
# fatload mmc 0 80a00000 u-boot.bin
- Proceed to Flashing U-Boot section
TFTP download
- Setup TFTP server
- Put the U-Boot binary in the root directory of 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 U-Boot to the CM-T3x RAM:
# tftp 80a00000 u-boot.bin
- Proceed to Flashing U-Boot section
Flashing U-Boot
Do not reset or power off the CM-T3x during the update process! Doing so may result in nand flash corruption! |
- Flash the U-Boot onto the on-board NAND flash:
# nandecc sw # nand erase 80000 60000 # nand write 80a00000 80000 60000
- Reset the CM-T3x evaluation platform
U-Boot packages
U-Boot packages can be found by the following links: