📄 redboot_installing.sgml
字号:
export TARGET=eb40
export PLATFORM_DIR=at91/eb40
export TARGET=eb40a
export PLATFORM_DIR=at91/eb40a
export TARGET=eb42
export PLATFORM_DIR=at91/eb42
export TARGET=eb55
export PLATFORM_DIR=at91/eb55
</programlisting>
Use just one of the <literal>TARGET</literal> and
<literal>PLATFORM_DIR</literal> variable pairs only.
</para>
<para>The names of configuration files are listed above with the
description of the associated modes.</para>
<para>When reprogramming RedBoot using RedBoot itself, you should
load a RedBoot RAM image as normal, and load the new ROM image
into RAM. However before programming the new image into Flash
you <emphasis>must</emphasis> switch SW1 to lower mem (EB40)
or set JP1 to STD (EB40A, EB42, EB55) before writing to Flash.
</para>
<warning><title>Warning!</title><para>Failure to set SW1 to
<literal>lower mem</literal> (EB40) or JP1 to
<literal>STD</literal> (EB40A, EB42, EB55) will cause the
installation of RedBoot to overwrite Angel, thus making the board
<emphasis>unbootable</emphasis>. Only hardware JTAG can restore the
board once in this state.
</para></warning>
</sect2>
</sect1>
<?Pub _newpage>
<sect1 id="edb7xxx">
<title>ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) </title>
<sect2>
<title>Overview</title>
<para><indexterm><primary>Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</primary>
<secondary>installing and testing</secondary></indexterm><indexterm><primary>
installing and testing</primary><secondary>Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)
</secondary></indexterm>RedBoot supports both serial ports on the board and
the ethernet port. The default serial port settings are 38400,8,N,1. RedBoot
also supports flash management on the EDB7xxx for the NOR flash
only.</para>
<para>The following RedBoot configurations are supported:
<informaltable frame="all">
<tgroup cols="4" colsep="1" rowsep="1" align="left">
<thead>
<row>
<entry>Configuration</entry>
<entry>Mode</entry>
<entry>Description</entry>
<entry>File</entry>
</row>
</thead>
<tbody>
<row>
<entry>ROM</entry>
<entry>[ROM]</entry>
<entry>RedBoot running from the board's flash boot
sector.</entry>
<entry>redboot_ROM.ecm</entry>
</row>
<row>
<entry>RAM</entry>
<entry>[RAM]</entry>
<entry>RedBoot running from RAM with RedBoot in the
flash boot sector.</entry>
<entry>redboot_RAM.ecm</entry>
</row>
<row>
<entry>ROMRAM</entry>
<entry>[ROMRAM]</entry>
<entry>RedBoot running from RAM, but contained in the
board's flash boot sector (EDB7312 only).</entry>
<entry>redboot_ROMRAM.ecm</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
<sect2>
<title>Initial Installation Method </title>
<para>A Windows or Linux utility is used to program flash using serial port
#1 via on-chip programming firmware. See board documentation for details on
in situ flash programming. </para>
</sect2>
<sect2>
<title>Special RedBoot Commands </title>
<para>None.</para>
</sect2>
<sect2>
<title>Memory Maps </title>
<para>The MMU page tables and LCD display buffer, if enabled, are located
at the end of DRAM. <note><title>NOTE
</title>
<para>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).</para>
</note><programlisting>
Physical Address Range Description
----------------------- ----------------------------------
0x00000000 - 0x01ffffff NOR Flash (EDB7211, EDB7212)
0x00000000 - 0x00ffffff NOR Flash (EDB7312)
0x10000000 - 0x11ffffff NAND Flash
0x20000000 - 0x2fffffff Expansion 2
0x30000000 - 0x3fffffff Expansion 3
0x40000000 - 0x4fffffff PCMCIA 0
0x50000000 - 0x5fffffff PCMCIA 1
0x60000000 - 0x600007ff On-chip SRAM
0x80000000 - 0x8fffffff I/O registers
0xc0000000 - 0xc1ffffff DRAM (EDB7211, EDB7212)
0xc0000000 - 0xc0ffffff DRAM (EDB7312)
Virtual Address Range C B Description
----------------------- - - ----------------------------------
0x00000000 - 0x01ffffff Y Y DRAM
0x00000000 - 0x00fcffff Y Y DRAM (EDB7312)
0x20000000 - 0x2fffffff N N Expansion 2
0x30000000 - 0x3fffffff N N Expansion 3
0x40000000 - 0x4fffffff N N PCMCIA 0
0x50000000 - 0x5fffffff N N PCMCIA 1
0x60000000 - 0x600007ff Y Y On-chip SRAM
0x80000000 - 0x8fffffff N N I/O registers
0xc0000000 - 0xc001ffff N Y LCD buffer (if configured)
0xe0000000 - 0xe1ffffff Y Y NOR Flash (EDB7211, EDB7212)
0xe0000000 - 0xe0ffffff Y Y NOR Flash (EDB7312)
0xf0000000 - 0xf1ffffff Y Y NAND Flash
The flash based RedBoot image occupies virtual addresses 0xe0000000 - 0xe003ffff.
</programlisting></para>
</sect2>
<sect2>
<title>Platform Resource Usage</title>
<para>The EP7xxx timer #2 is used as a polled timer to provide timeout support
for network and XModem file transfers.</para>
</sect2><sect2>
<title>Rebuilding RedBoot</title>
<para>These shell variables provide the platform-specific information
needed for building RedBoot according to the procedure described in
<xref linkend="Rebuilding-Redboot">:
<programlisting>
export TARGET=edb7211
export TARGET=edb7212
export TARGET=edb7312
export ARCH_DIR=arm
export PLATFORM_DIR=edb7xxx
</programlisting>
Use one of the TARGET settings only.
</para>
<para>The names of configuration files are listed above with the
description of the associated modes.</para>
</sect2>
</sect1>
<?Pub _newpage>
<sect1 id="aaed2000">
<title>ARM/ARM9 Agilent AAED2000</title>
<sect2>
<title>Overview</title>
<para><indexterm><primary>Agilent AAED2000 ARM9 (aaed)</primary>
<secondary>installing and testing</secondary></indexterm><indexterm><primary>
installing and testing</primary><secondary>Agilent AAED2000 ARM9 (aaed)
</secondary></indexterm>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.</para>
<para>The following RedBoot configurations are supported:
<informaltable frame="all">
<tgroup cols="4" colsep="1" rowsep="1" align="left">
<thead>
<row>
<entry>Configuration</entry>
<entry>Mode</entry>
<entry>Description</entry>
<entry>File</entry>
</row>
</thead>
<tbody>
<row>
<entry>ROMRAM</entry>
<entry>[ROMRAM]</entry>
<entry>RedBoot running from RAM, but contained in the
board's flash boot sector.</entry>
<entry>redboot_primary_ROMRAM.ecm</entry>
</row>
<row>
<entry>RAM</entry>
<entry>[RAM]</entry>
<entry>RedBoot running from RAM with RedBoot in the
flash boot sector.</entry>
<entry>redboot_primary_RAM.ecm</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
<sect2>
<title>Initial Installation Method </title>
<para>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).</para>
<para>Presently, only the former method is supported.</para>
<!-- Nuke the above line if uncommenting this block
<para>When installed as the secondary bootmonitor, the ARM bootmonitor
remains in flash and auto-executes RedBoot (but only when RedBoot is
smaller than 128KB - which means it cannot include the LCD driver).
It is of crucial importance that no RedBoot configured to be
primary bootmonitor is executed on a board where RedBoot is actually
supposed to be the secondary bootmonitor since it may cause corruption
of the flash. Installing RedBoot as the primary booter is
adviced.</para>
-->
<sect3><title>RedBoot as Primary Bootmonitor</title>
<para>RedBoot is installed in flash using the on-board ARM Boot
Monitor.</para>
<para>Boot the board while pressing SPACE. This should bring up the
Boot Monitor:
<screen>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 >
</screen>
Download the RAM mode image of RedBoot configured as a primary
bootmonitor using the ARM bootmonitor's SREC-download command:
<screen>boot Monitor > <userinput>m</userinput>
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.
</screen>
Use the terminal emulator's ASCII upload command, or (on Linux) simply
cat the file to the serial port:
<screen>$ <userinput>cat redboot_primary_RAM/redboot.srec >/dev/ttyS1</userinput>
</screen>
You should see RedBoot start up:
<screen>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></screen>
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:
<screen>RedBoot> <userinput>fis init</userinput>
About to initialize [format] FLASH image system - continue (y/n)? <userinput>y</userinput>
*** 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: .
</screen>
Download the ROMRAM mode image of RedBoot via ethernet:
<screen>RedBoot> <userinput>load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec</userinput>
</screen>
or using serial Y-modem protocol:
<screen>RedBoot> <userinput>load -mode ymodem -b %{FREEMEMLO}</userinput>
</screen>
(Use the terminal emulator's Y-modem upload command to send the file
<filename>redboot_primary_ROMRAM/redboot.srec</filename>.)
When the image has been downloaded, program it into flash:
<screen>Address offset = 0x00ff8000
Entry point: 0x00008040, address range: 0x00008000-0x0002da80
RedBoot> <userinput>fi cr RedBoot</userinput>
An image named 'RedBoot' exists - continue (y/n)? <userinput>y</userinput>
* CAUTION * about to program 'RedBoot'
at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? <userinput>y</userinput>
... Erase from 0x60000000-0x60040000: ..
... Program from 0x00100000-0x00140000 at 0x60000000: ..
... Erase from 0x61fe0000-0x62000000: .
... Program from 0x01f5f000-0x01f7f000 at 0x61fe0000: .
</screen>
Now reset the board. You should see the RedBoot banner.</para>
</sect3>
<!--
<sect3><title>RedBoot as Secondary Bootmonitor</title>
<para>RedBoot is installed in flash using the on-board ARM Boot
Monitor.</para>
<para>Boot the board while pressing SPACE. This should bring up the
Boot Monitor:
<screen>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 >
</screen>
Download the RAM mode image of RedBoot configured as a secondary
bootmonitor using the ARM bootmonitor's SREC-download command:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -