|
|
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=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 |
| + | }} |