RedBoot supports the serial and ethernet ports on the board. The default serial port settings are 38400,8,N,1. RedBoot also supports flash management on the AAED2000.
The following RedBoot configurations are supported:
It is possible to install RedBoot in one of two ways. Either as the primary bootmonitor on the board (installed to blocks 0-1 of the flash) or as the secondary bootmonitor on the board (installed to blocks 1-2 of the flash).
Presently, only the former method is supported.
RedBoot is installed in flash using the on-board ARM Boot Monitor.
Boot the board while pressing SPACE. This should bring up the Boot Monitor:
ARM bootPROM [Version 1.3] Rebuilt on Jul 16 2001 at 16:21:36 Running on a P920 board Evaluation Board Board Revision V1.0, ARM920T processor Processor Memory Size is 32MBytes, Flash Size is 32MBytes Copyright (c) ARM Limited 1999 - 2001. All rights reserved. Board designed by ARM Limited Hardware support provided at http://www.arm.com/ For help on the available commands type ? or h boot Monitor > |
boot Monitor > m Load Motorola S-Record image into memory and execute it The S-Record loader only accepts input on the serial port. Record addresses must be between 0x00008000 and 0x01E0F510. Type Ctrl/C to exit loader. |
$ cat redboot_primary_RAM/redboot.srec >/dev/ttyS1 |
FLASH configuration checksum error or invalid key Ethernet eth0: MAC address 00:30:d3:03:04:99 IP: 192.168.42.111, Default server: 192.168.42.3 RedBoot(tm) bootstrap and debug environment [RAM] Non-certified release, version UNKNOWN - built 13:15:40, Nov 9 2001 Platform: AAED2000 system (ARM9) [Primary] Copyright (C) 2000, 2001, Red Hat, Inc. RAM: 0x00000000-0x01f80000, 0x0006f208-0x01f51000 available FLASH: 0x60000000 - 0x62000000, 256 blocks of 0x00020000 bytes each. RedBoot> |
RedBoot> fis init About to initialize [format] FLASH image system - continue (y/n)? y *** Initialize FLASH Image System Warning: device contents not erased, some blocks may not be usable ... Erase from 0x61fe0000-0x62000000: . ... Program from 0x01f5f000-0x01f5f300 at 0x61fe0000: . |
RedBoot> load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec |
RedBoot> load -mode ymodem -b %{FREEMEMLO} |
Address offset = 0x00ff8000 Entry point: 0x00008040, address range: 0x00008000-0x0002da80 RedBoot> fi cr RedBoot An image named 'RedBoot' exists - continue (y/n)? y * CAUTION * about to program 'RedBoot' at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? y ... Erase from 0x60000000-0x60040000: .. ... Program from 0x00100000-0x00140000 at 0x60000000: .. ... Erase from 0x61fe0000-0x62000000: . ... Program from 0x01f5f000-0x01f7f000 at 0x61fe0000: . |
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 AAED2000 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=ttyAC0,38400" Using base address 0x00100000 and length 0x000a3d6c Uncompressing Linux..... |
RedBoot> exec -b 0x60040000 -l 0xc0000 -c "console=ttyAC0,38400" 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 - 0x01ffffff Flash 0x10000000 - 0x100fffff Ethernet 0x30000000 - 0x300fffff Board registers 0x40000000 - 0x4fffffff PCMCIA Slot (0) 0x50000000 - 0x5fffffff Compact Flash Slot (1) 0x80000000 - 0x800037ff I/O registers 0xb0060000 - 0xb00fffff On-chip SRAM 0xf0000000 - 0xfd3fffff SDRAM Virtual Address Range C B Description ----------------------- - - ---------------------------------- 0x00000000 - 0x01f7ffff Y Y SDRAM 0x01f80000 - 0x01ffffff Y Y SDRAM (used for LCD frame buffer) 0x10000000 - 0x100fffff N N Ethernet 0x30000000 - 0x300fffff N N Board registers 0x40000000 - 0x4fffffff N N PCMCIA Slot (0) 0x50000000 - 0x5fffffff N N Compact Flash Slot (1) 0x60000000 - 0x61ffffff N N Flash 0x80000000 - 0x800037ff N N I/O registers 0xf0000000 - 0xffffffff N N SDRAM (uncached) |
These shell variables provide the platform-specific information needed for building RedBoot according to the procedure described in Chapter 3:
export TARGET=aaed export ARCH_DIR=arm export PLATFORM_DIR=arm9/aaed2000 |
The names of configuration files are listed above with the description of the associated modes.