RedBoot™ User's Guide: Document Version 1.9, February 2003 | ||
---|---|---|
Prev | Chapter 5. Installation and Testing | Next |
RedBoot uses the front facing serial port. The default serial port settings are 38400,8,N,1. RedBoot also supports ethernet. Management of onboard flash is also supported. Two basic RedBoot configurations are supported:
RedBoot running from the board's flash boot sector.
RedBoot running from RAM with RedBoot in the flash boot sector.
Device programmer is used to program socketed flash parts.
To update the primary RedBoot images, follow the procedures detailed in the Section called Update the primary RedBoot flash image in Chapter 4, loading the primary image into RAM at 0x80100000. The actual numbers used with the flags in the sample commands are then:
-f 0xbfc00000 -b 0x80100000 -l 0x20000 |
To update the secondary RedBoot images, follow the procedures detailed in the Section called Load and start a different version of RedBoot, running from RAM in Chapter 4, but the actual numbers used with the flags in the sample commands should be:
-f 0xbfc20000 -b 0x80020000 -r 0x80020000 -l 0x20000 |
The exec command which allows the loading and execution of Linux kernels, is supported for this architecture (see the Section called Executing Programs from RedBoot in Chapter 2). The exec parameters used for MIPS boards are:
Location to store command line and environment passed to kernel
Wait time in seconds before starting kernel
Parameters passed to kernel
Kernel entry point, defaulting to the entry point of the last image loaded
Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to a C call with prototype:
void Linux(int argc, char **argv, char **envp); |
RedBoot will place the appropriate data at the offset specified by the -b parameter, or by default at address 0x80080000, and will set the arguments accordingly when calling into the kernel.
The default entry point, if no image with explicit entry point has been loaded and none is specified, is 0x80000750.
RedBoot sets up the following memory map on the Ocelot board.
Note that these addresses are accessed through kseg0/1 and thus translate to the actual address range 0x80000000-0xbfffffff, depending on the need for caching/non-caching access to the bus.
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 - 0x0fffffff SDRAM 0x10000000 - 0x10ffffff PCI I/O space 0x12000000 - 0x13ffffff PCI Memory space 0x14000000 - 0x1400ffff Galileo system controller 0x1c000000 - 0x1c0000ff PLD (board logic) 0x1fc00000 - 0x1fc7ffff flash |
The flash based RedBoot image occupies flash addresses 0x1fc00000 - 0x1fc1ffff. RedBoot also reserves RAM (0x00000000 - 0x0001ffff) for RedBoot runtime uses.
RAM based RedBoot configurations are designed to run from RAM at physical addresses 0x00020000 - 0x0003ffff. RAM physical addresses from 0x00040000 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 instructions in Chapter 3 should be followed. The values for TARGET, ARCH_DIR and PLATFORM_DIR on this platform are “ocelot”, “mips” and “rm7000/ocelot” respectively. Note that the configuration export files supplied in the hal/mips/rm7000/ocelot/VERSION/misc directory in the RedBoot source tree should be used.