CS-E9302 RedBoot boot loader.
Ok, what happens when you boot? You see lots of boot messages, but who is generating those messages? What does the processor do when power is applied?
The first program to run is installed on the Cirrus Logic Internal Boot Rom. This is 16K of code space built into the Cirrus Logic EDP-9302 processor.
(?? This program is installed in the on-chip memory using a program from Cirrus called “download.exe”???)
On the Olimex CS-E9302 board, this comes pre-installed with a program called RedBoot. Just like your PC starts up by running a program called BIOS, this board starts up and runs the installed RedBoot program.
Also, much like the BIOS, it has a setup mode that allows you to configure the way your computer boots. However, instead of BIOS screens and dialog boxes, RedBoot it is a command line program that runs through a serial port.
Note, at any time you can press the button “PRN” button to reset your board. If you don’t want to save anything you might have messed up, pressing this button should restart RedBoot.
When power is applied (or after a reboot) if you press Ctrl-C within 5 seconds, you will be given a RedBoot prompt:
RedBoot>
Some commands from here:
fconfig – flash based configuration, prompts you for each configuration option and allows you to update the configuration in flash – only do this if you know what you are doing!
fconfig -l - minus ‘ell’ to list the current configuration
fis xxx – manages the Flash Image System
fis list - lists the amount of reserved flash memory
help – lists all of the RedBoot commands
ip_address – shows the RedBoot IP address
ping -h – ping another IP address
reset – resets the chip and starts RedBoot over again
version – show some version information about RedBoot
Some command results:
fis list – shows the amount of reserved flash memory, which should look something like this:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x60000000 0x60000000 0x00040000 0x00000000
RedBoot config 0x60FC0000 0x60FC0000 0x00001000 0x00000000
FIS directory 0x60FE0000 0x60FE0000 0x00020000 0x00000000
netbsd 0x60040000 0x00200000 0x00500000 0x00200000
netbsd_install 0x60540000 0x00200000 0x00500000 0x00200000
ramdisk.gz 0x60A40000 0x00800000 0x00300000 0x00800000
zImage 0x60D40000 0x00080000 0x000E0000 0x00080000
Use the version command to get a little information about the RedBoot build and the memory on board, by default should look like this:
RedBoot> version
RedBoot™ bootstrap and debug environment [ROMRAM]
Non-certified release, version v2_0 - built 08:14:43, Aug 22 2006
Platform: Cirrus Logic EDB9302 Board (ARM920T) Rev A
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
RAM: 0x00000000-0x02000000, 0x00041e68-0x01fdd000 available
FLASH: 0x60000000 - 0x61000000, 128 blocks of 0x00020000 bytes each.
Note, the RedBoot also sets up the Ethernet port on the Cirrus Logic chip. It is assigned a default IP addresses as follows:
RedBoot> ip_address
IP: 192.168.0.93/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.0.13, DNS server IP: 0.0.0.0
RedBoot>
These are changed using the ip_address command, or stored in flash using the fconfig commands.
Complete documentation for RedBoot is provided here:
http://ecos.sourceware.org/docs-latest/ … dboot.html
========
Any more specific information on this would be appreciated!