Difference between revisions of "U-Boot for CM-X300"
m (1 revision(s)) |
|||
Line 100: | Line 100: | ||
== See also == | == See also == | ||
+ | * [[U-Boot quick reference]] | ||
* [[Getting started with Linux on CM-X300]] | * [[Getting started with Linux on CM-X300]] | ||
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation] | * [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation] |
Revision as of 12:06, 1 July 2009
Contents
Overview
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 http://www.denx.de/wiki/U-Boot/WebHome.
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.
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
U-Boot firmware could be updated either from USB flash drive (with FAT filesystem), or from Network tftp download. Either method is done from U-Boot command line.
USB flash drive
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
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)
- Load the firmware to memory
- Type: fatload usb 0 80a00000 <firmware filename>
U-Boot> fatload usb 0 80a00000 cm-x300-firmware reading cm-x300-firmware 524288 bytes read
- Proceed to 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>
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)
- Proceed to Update process section
If you get the "could not establish link" message, check that your ethernet plugs are in place and try again. |
Update process
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
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
- Now you may reset the board