RedBoot supports the debug serial port and the built in ethernet port for communication and
downloads. The default serial port settings are 115200,8,N,1 with RTS/CTS flow control. RedBoot can
run from either flash, and can support flash management for either the boot PROM or the system
flash regions.
The following RedBoot configurations are supported:
Configuration
Mode
Description
File
PROM
[ROM]
RedBoot running from the boot PROM and able to
access the system flash.
redboot_ROM.ecm
FLASH
[ROM]
RedBoot running from the system flash and able to
access the boot PROM.
redboot_FLASH.ecm
RAM
[RAM]
RedBoot running from RAM and able to access the
boot PROM.
Unless a pre-programmed system flash module is available to be plugged into a new board,
RedBoot must be installed with the aid of a JTAG interface unit. To achieve this, the RAM mode
RedBoot must be loaded directly into RAM by JTAG and started, and then that
must be used to store the ROM mode RedBoot into the boot PROM.
These instructions assume that you have binary images of the RAM-based and boot PROM-based
RedBoot images available.
If the board is to be programmed, whether via JTAG or RedBoot, some hardware settings need to
be changed:
Jumper across ST18 on the board to allow write access to the boot PROM.
Set DIP switch S1-3 to OFF to allow RedBoot to write to the system flash.
Set the switch S5 (on the front of the board) to boot from whichever flash is
not being programmed. Note that the RedBoot image cannot access the flash from
which it is currently executing (it can only access the other flash).
The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing
TFTP services if that is how RedBoot should pick up the images it is going to program into the
flash. Alternatively, the images can be passed by YMODEM over the serial link.
Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
address space it can access:
ex 0x80000000,0x81ffffff,/mexramex 0x84000000,0x85ffffff,/mexramex 0x86000000,0x867fffff,/mexramex 0x86800000,0x87ffffff,/mexramex 0x8c000000,0x8cffffff,/mexramex 0x90000000,0x93ffffff,/mexram
Instruct the debugger to load the RAM RedBoot image into RAM:
_pc=90000000u_pcrd redboot.ram,90000000
Load the boot PROM RedBoot into RAM:
rd redboot.prom,91020000
Start RedBoot in RAM:
g
Note that RedBoot may take some time to start up, as it will attempt to query a BOOTP or DHCP
server to try and automatically get an IP address for the board. Note, however, that it should send
a plus over the serial port immediately, and the 7-segment LEDs should display “rh
8”.
Once the RAM mode RedBoot is up and running, it can be communicated with by way of the serial
port. Commands can now be entered directly to RedBoot for flashing the boot PROM.
Instruct RedBoot to initialise the boot PROM:
RedBoot> fi init
Write the previously loaded redboot.prom image into the boot PROM:
RedBoot> fi write -f 0x80000000 -b 0x91020000 -l 0x00020000
Barring the difference in address, the two dumps should be the same.
Close the JTAG software and power-cycle the board. The RedBoot banners should be
displayed again over the serial port, followed by the RedBoot prompt. The boot PROM-based RedBoot
will now be running.
Power off the board and unjumper ST18 to write-protect the contents of the boot
PROM. Then power the board back up.
Run the following command to initialise the system flash:
RedBoot> fi init
Then program the system flash based RedBoot into the system flash:
RedBoot sets up the following memory map on the ASB2305 board.
NOTE: The regions mapped between 0x80000000-0x9FFFFFFF are cached by the CPU. However, all those
regions can be accessed uncached by adding 0x20000000 to the address.