RedBoot™ User's Guide: Document Version 1.9, February 2003 | ||
---|---|---|
Prev | Chapter 5. Installation and Testing | Next |
RedBoot supports the serial port labelled P2 on the board. The default serial port settings are 57600,8,N,1. RedBoot also supports flash management on the Excalibur. Two basic RedBoot configurations are supported:
RedBoot running from the board's flash boot sector (ROM).
RedBoot running from RAM with RedBoot in the flash boot sector (ROMRAM/REDBOOT).
NOTE: RedBoot is currently hardwired to use a 128MB SDRAM SIMM module.
A Windows utility (exc_flash_programmer.exe) is used to program flash using the ByteBlasterMV JTAG unit. See board documentation for details on in situ flash programming.
For ethernet to work (under Linux) the following jumper settings should be used on a REV 2 board:
SW2-9 : OFF
U179 : 2-3
JP14-18 : OPEN
JP40-41 : 2-3
JP51-55 : 2-3
To update the primary RedBoot image (of startup type ROMRAM or REDBOOT), follow the procedures detailed in the Section called Update the primary RedBoot flash image in Chapter 4, but the actual numbers used with the flags in the sample commands should be:
-f 0x40000000 -b 0x40000 -l 0x20000 |
fis unlock -f 0x40000000 -l 0x20000 |
fis lock -f 0x40000000 -l 0x20000 |
NOTE: The ROMRAM and REDBOOT configurations differ only in the memory layout (ROMRAM mode runs RedBoot from 0x00008000 while REDBOOT mode runs RedBoot from 0x07f80000). The REDBOOT configuration allows applications to be loaded and run from address 0x00008000.
NOTE: Since the default RedBoot flash image is of startup type ROMRAM or REDBOOT, it is not necessary to use the two-step update process with the RAM startup type of RedBoot; it is possible to update the image in flash directly.
The exec command which allows the loading and execution of Linux kernels, is supported for this board (see the Section called Executing Programs from RedBoot in Chapter 2). The exec parameters used for the Excalibur are:
Location Linux kernel was loaded to
Length of kernel
Parameters passed to kernel
'initrd' ramdisk location
Length of initrd ramdisk
The parameters for kernel image base and size are automatically set after a load operation. So one way of starting the kernel would be:
RedBoot> load -r -b 0x100000 zImage Raw file loaded 0x00100000-0x001a3d6c RedBoot> exec -c "console=ttyUA0,57600" Using base address 0x00100000 and length 0x000a3d6c Uncompressing Linux..... |
RedBoot> exec -b 0x40400000 -l 0xc0000 -c "console=ttyUA0,57600" Uncompressing Linux..... |
The MMU page tables are located at 0x4000.
NOTE: The virtual memory maps in this section use a C and B column to indicate whether or not the region is cached (C) or buffered (B).
Physical Address Range Description ----------------------- ---------------------------------- 0x00000000 - 0x07ffffff SDRAM 0x08000000 - 0x0805ffff On-chip SRAM 0x40000000 - 0x40ffffff Flash 0x7fffc000 - 0x7fffffff I/O registers 0x80000000 - 0x8001ffff PLD Virtual Address Range C B Description ----------------------- - - ---------------------------------- 0x00000000 - 0x07ffffff Y Y SDRAM 0x08000000 - 0x0805ffff Y Y On-chip SRAM 0x40000000 - 0x403fffff N Y Flash 0x7fffc000 - 0x7fffffff N N I/O registers 0x80000000 - 0x8001ffff N N PLD The flash based RedBoot image occupies virtual addresses 0x40000000 - 0x4001ffff. |
The ROMRAM startup type RedBoot image occupies RAM addresses 0x00000 - 0x3ffff. RAM addresses from 0x40000 to the end of RAM are available for general use such as a temporary scratchpad for downloaded images before they are written to flash.
The REDBOOT startup type RedBoot image occupies RAM addresses 0x07f80000 - 0x07fffffff. RAM addresses from 0x8000 to about 0x07f00000 are available for general use such as a temporary scratchpad for downloaded images before they are written to flash.
The instructions in Chapter 3 should be followed. The values for ARCH_DIR and PLATFORM_DIR on this platform are “arm” and “arm9/excalibur” respectively. The value for TARGET is “excalibur_arm9”. Note that the configuration export files supplied in the hal/arm/arm9/excalibur/VERSION/misc directory in the RedBoot source tree should be used.