ARM/ARM9 Agilent AAED2000

Overview

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:

ConfigurationModeDescriptionFile
ROMRAM[ROMRAM]RedBoot running from RAM, but contained in the board's flash boot sector.redboot_primary_ROMRAM.ecm
RAM[RAM]RedBoot running from RAM with RedBoot in the flash boot sector.redboot_primary_RAM.ecm

Initial Installation Method

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 as Primary Bootmonitor

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 >                                                                  
Download the RAM mode image of RedBoot configured as a primary bootmonitor using the ARM bootmonitor's SREC-download command:
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.
Use the terminal emulator's ASCII upload command, or (on Linux) simply cat the file to the serial port:
$ cat redboot_primary_RAM/redboot.srec >/dev/ttyS1
You should see RedBoot start up:
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>
As can be seen from the output above, the network has been configured to give the board an IP address and information about the default server. If things are not set up on your network, you can still continue, but use the Y-modem download method when loading the RedBoot ROMRAM mode image. Now initialize RedBoot's FIS:
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: .
Download the ROMRAM mode image of RedBoot via ethernet:
RedBoot> load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec
or using serial Y-modem protocol:
RedBoot> load -mode ymodem -b %{FREEMEMLO}
(Use the terminal emulator's Y-modem upload command to send the file redboot_primary_ROMRAM/redboot.srec.) When the image has been downloaded, program it into flash:
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: .
Now reset the board. You should see the RedBoot banner.

Special RedBoot Commands

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:

-b <addr>

Location Linux kernel was loaded to

-l <len>

Length of kernel

-c "params"

Parameters passed to kernel

-r <addr>

'initrd' ramdisk location

-s <len>

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.....
An image could also be put in flash and started directly:
RedBoot> exec -b 0x60040000 -l 0xc0000 -c "console=ttyAC0,38400"
Uncompressing Linux.....

Memory Maps

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)

Rebuilding RedBoot

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.