Difference between revisions of "U-Boot for CM-X300"

From Compulab Mediawiki
Jump to: navigation, search
m (1 revision(s))
Line 1: Line 1:
== Overview ==
+
{{summary|
 
The CompuLab CM-X300 module is using U-Boot boot-loader for low-level initializations and operating system loading.
 
The CompuLab CM-X300 module is using U-Boot boot-loader for low-level initializations and operating system loading.
 
U-Boot is an open source firmware for wide range of embedded systems (e.g. PowerPC, ARM, MIPS, x86, ColdFire, AVR32, NIOS, etc.).
 
U-Boot is an open source firmware for wide range of embedded systems (e.g. PowerPC, ARM, MIPS, x86, ColdFire, AVR32, NIOS, etc.).
 
On this page we will discuss only features and use cases related to CompuLab CM-X300 module.
 
On this page we will discuss only features and use cases related to CompuLab CM-X300 module.
For more information on U-Boot, please refer to http://www.denx.de/wiki/U-Boot/WebHome. <br>
+
For more information on U-Boot, please refer to [http://www.denx.de/wiki/U-Boot/WebHome Official U-Boot Homepage]. <br>
The most recent CompuLab U-Boot version for CM-X300 is checked out from '''v2009.03''' of [http://git.denx.de/?p=u-boot.git;a=summary Das U-Boot repository] and can be obtained from [http://www.compulab.co.il/x300/html/x300-developer.py CompuLab website] in binary form.
+
The most recent CompuLab U-Boot version for CM-X300 is checked out from '''v2009.03''' of [http://git.denx.de/?p&#61;u-boot.git Das U-Boot repository] and can be obtained from [http://www.compulab.co.il/x300/html/x300-developer.py CompuLab website] in binary form. CompuLab U-Boot source will be provided on request. <br>
CompuLab U-Boot source will be provided on request.
 
 
 
== CM-X300 Firmware Update process ==
 
 
 
=== Preliminary ===
 
Some basic steps are needed to be taken in order to update the CM-X300 firmware successfully:
 
* Make sure to power off the CM-X300 board
 
* Connect one end of the supplied serial cable to your module's base board and the other one to your host system
 
* Start terminal console application on your host system and configure the following:
 
** Set the serial port to one with the attached cable
 
** Set baud rate to 38400 bps
 
** 8 bit per frame
 
** 1 stop bit
 
** no parity
 
** no flow control
 
* Turn the CM-X300 board on
 
* Now you should get the U-Boot command prompt in your terminal application
 
{{Note| If you have an operating system installed or U-Boot environment configured for auto boot, you will have to stop the auto boot sequence by pressing any key in your terminal application during the start of the boot process!}}
 
U-Boot firmware could be updated either from [[U-Boot_for_CM-X300#USB_flash_drive|USB flash drive]] (with FAT filesystem), or from [[U-Boot_for_CM-X300#Network_tftp_download|Network tftp download]].
 
Either method is done from U-Boot command line.
 
 
 
=== USB flash drive ===
 
{{Note| Please, connect your flash drive directly to the base board of the module! Do not use any USB hubs or other separating equipment!}}
 
To update the U-Boot firmware via USB flash drive, follow the instructions precisely!
 
* Start the U-Boot USB subsystem and check that your storage device is ready and contains the firmware
 
** Type: ''usb start''
 
** Type: ''fatls usb 0'' to ensure you have the firmware in place
 
<pre>
 
U-Boot> usb start
 
(Re)start USB...
 
USB:  scanning bus for devices... 2 USB Device(s) found
 
      scanning bus for storage devices... 1 Storage Device(s) found
 
U-Boot> fatls usb 0
 
  524288  cm-x300-firmware
 
 
 
1 file(s), 0 dir(s)
 
</pre>
 
 
 
* Load the firmware to memory
 
** Type: ''fatload usb 0 80a00000 <firmware filename>''
 
 
 
<pre>
 
U-Boot> fatload usb 0 80a00000 cm-x300-firmware
 
reading cm-x300-firmware
 
 
 
524288 bytes read
 
</pre>
 
* Proceed to [[U-Boot_for_CM-X300#Update_process|Update process]] section
 
 
 
=== Network tftp download ===
 
In order to use this update method, you need:
 
* TFTP service/server installed on your host system
 
* Firmware file should reside in the root directory of TFTP service
 
To update the U-Boot firmware via tftp download, follow the instructions precisely!
 
* Download the firmware to module's memory
 
** Type: ''tftp 80a00000 <firmware filename>''
 
<pre>
 
U-Boot> tftp 80a00000 cm-x300-firmware
 
dm9000 i/o: 0x8000010, id: 0x90000a46
 
DM9000: running in 16 bit mode
 
MAC: 00:01:c0:05:20:be
 
operating at 100M full duplex mode
 
TFTP from server 10.1.1.13; our IP address is 10.1.1.144
 
Filename 'cm-x300-firmware'.
 
Load address: 0x80a00000
 
Loading: ####################################
 
done
 
Bytes transferred = 524288 (80000 hex)
 
</pre>
 
* Proceed to [[U-Boot_for_CM-X300#Update_process|Update process]] section
 
{{Note| If you get the "''could not establish link''" message, check that your ethernet plugs are in place and try again.}}
 
 
 
=== Update process ===
 
{{Warning| DO NOT RESET OR POWER OFF THE MODULE DURING THE UPDATE PROCESS! DOING SO MAY RESULT IN DISABLED MODULE!}}
 
 
 
* Flash the firmware to onboard NAND storage
 
** Type: ''nand erase 0 80000''
 
** Type: ''nand write 80a00000 0 80000''
 
<pre>
 
U-Boot> nand erase 0 80000
 
 
 
NAND erase: device 0 offset 0x0, size 0x80000
 
Erasing at 0x60000 -- 100% complete.
 
OK
 
U-Boot> nand write 80a00000 0 80000
 
 
 
NAND write: device 0 offset 0x0, size 0x80000
 
524288 bytes written: OK
 
</pre>
 
* Now you may reset the board
 
 
 
{{Important|In case you use Windows CE and you update U-Boot, you will need to load the ImageUdater after the U-Boot update. There is no need to install the image again. This will update the NAND flash metadata that is crucial for Windows CE.}}
 
 
 
== See also ==
 
  
 +
Links to information about U-Boot package for CM-X300 modules:
 
* [[U-Boot quick reference]]
 
* [[U-Boot quick reference]]
* [[Getting started with Linux on CM-X300]]
+
* [[CM-X300 U-Boot Update]]
 
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]
 
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]
 +
|X300-cm-top-m.jpg|thumb}}
 +
 +
{{Changelog|
 +
* '''2-Sep-2009'''
 +
: U-Boot 2009.03-cm-x300-3 release
 +
: - Added PXA310 USB support
 +
: - Green LED (for CM-X300 revision 1.3 and higher)
 +
* '''27-May-2009'''
 +
: Initial release of [[U-Boot for CM-X300]] documentation
 +
: U-Boot 2009.03-cm-x300-2 release supports:
 +
: - DA9030 power management chip
 +
: - DM9000A Ethernet chip
 +
: - PXA300 USB
 +
: - Onboard NAND chip
 +
: - Green LED (up to CM-X300 revision 1.2)
 +
: - System revision and serial number in ATAGS
 +
}}

Revision as of 05:44, 2 September 2009

The CompuLab CM-X300 module is using U-Boot boot-loader for low-level initializations and operating system loading. U-Boot is an open source firmware for wide range of embedded systems (e.g. PowerPC, ARM, MIPS, x86, ColdFire, AVR32, NIOS, etc.). On this page we will discuss only features and use cases related to CompuLab CM-X300 module. For more information on U-Boot, please refer to Official U-Boot Homepage.
The most recent CompuLab U-Boot version for CM-X300 is checked out from v2009.03 of Das U-Boot repository and can be obtained from CompuLab website in binary form. CompuLab U-Boot source will be provided on request.

Links to information about U-Boot package for CM-X300 modules:

X300-cm-top-m.jpg
News
  • 2-Sep-2009
U-Boot 2009.03-cm-x300-3 release
- Added PXA310 USB support
- Green LED (for CM-X300 revision 1.3 and higher)
  • 27-May-2009
Initial release of U-Boot for CM-X300 documentation
U-Boot 2009.03-cm-x300-2 release supports:
- DA9030 power management chip
- DM9000A Ethernet chip
- PXA300 USB
- Onboard NAND chip
- Green LED (up to CM-X300 revision 1.2)
- System revision and serial number in ATAGS