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