RedBoot User's Guide
Prev | Chapter 5. Installation and Testing | Next

# 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:

Configuration | Mode | Description | File
--- | --- | --- | ---
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, Free Software Foundation, 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.

Prev | Home | Next
ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) | Up | ARM/ARM9 Altera Excalibur