annotate packages/redboot/current/doc/redboot_installing.sgml @ 1016:09c58c54db2f

* ecos.db: Added packages and targets for Atmel AT91 boards: EB40, EB40A, EB42 and EB55.
author nickg
date Tue, 13 May 2003 18:38:14 +0000
parents fa9a9d22a594
children c7f6f3f06207
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
333
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
1 <!-- {{{ Banner -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
2
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
3 <!-- =============================================================== -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
4 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
5 <!-- redboot_installing.sgml -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
6 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
7 <!-- RedBoot Documentation -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
8 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
9 <!-- =============================================================== -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
10 <!-- ####COPYRIGHTBEGIN#### -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
11 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
12 <!-- =============================================================== -->
835
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
13 <!-- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc. -->
333
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
14 <!-- This material may be distributed only subject to the terms -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
15 <!-- and conditions set forth in the Open Publication License, v1.0 -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
16 <!-- or later (the latest version is presently available at -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
17 <!-- http://www.opencontent.org/openpub/) -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
18 <!-- Distribution of the work or derivative of the work in any -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
19 <!-- standard (paper) book form is prohibited unless prior -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
20 <!-- permission obtained from the copyright holder -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
21 <!-- =============================================================== -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
22 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
23 <!-- ####COPYRIGHTEND#### -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
24 <!-- =============================================================== -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
25 <!-- #####DESCRIPTIONBEGIN#### -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
26 <!-- -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
27 <!-- ####DESCRIPTIONEND#### -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
28 <!-- =============================================================== -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
29
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
30 <!-- }}} -->
26852e80cb37 Update documentation licenses to remove restriction on redistributing
bartv
parents: 213
diff changeset
31
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
32 <!-- FIXME:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
33 Need to make index terms consistent
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
34 -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
35
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
36
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
37 <chapter id="Installation-and-Testing">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
38 <title>Installation and Testing</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
39 <indexterm><primary>installing and testing RedBoot</primary></indexterm><indexterm>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
40 <primary>RedBoot</primary><secondary>installing and testing</secondary></indexterm>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
41
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
42 <!-- *************************** AM3x ********************** -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
43
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
44 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
45 <sect1 id="asb2305">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
46 <title>AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
47 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
48 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
49 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
50 <indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
51 <primary>Matsushita MN103E010 (AM33/2.0) ASB2305 Board</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
52 <secondary>installing and testing</secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
53 </indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
54 <indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
55 <primary>installing and testing</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
56 <secondary>Matsushita MN103E010 (AM33/2.0) ASB2305 Board</secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
57 </indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
58 RedBoot supports the debug serial port and the built in ethernet port for communication and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
59 downloads. The default serial port settings are 115200,8,N,1 with RTS/CTS flow control. RedBoot can
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
60 run from either flash, and can support flash management for either the boot PROM or the system
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
61 flash regions.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
62
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
63 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
64
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
65 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
66 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
67 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
68 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
69 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
70 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
71 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
72 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
73 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
74 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
75 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
76 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
77 <entry>PROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
78 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
79 <entry>RedBoot running from the boot PROM and able to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
80 access the system flash.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
81 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
82 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
83 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
84 <entry>FLASH</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
85 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
86 <entry>RedBoot running from the system flash and able to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
87 access the boot PROM.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
88 <entry>redboot_FLASH.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
89 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
90 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
91 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
92 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
93 <entry>RedBoot running from RAM and able to access the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
94 boot PROM.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
95 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
96 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
97 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
98 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
99 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
100 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
101 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
102
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
103 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
104 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
105 <para>Unless a pre-programmed system flash module is available to be plugged into a new board,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
106 RedBoot must be installed with the aid of a JTAG interface unit. To achieve this, the RAM mode
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
107 RedBoot must be loaded directly into RAM by JTAG and started, and then <emphasis>that</emphasis>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
108 must be used to store the ROM mode RedBoot into the boot PROM.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
109 <para>These instructions assume that you have binary images of the RAM-based and boot PROM-based
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
110 RedBoot images available.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
111 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
112 <title>Preparing to program the board</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
113 <para>If the board is to be programmed, whether via JTAG or RedBoot, some hardware settings need to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
114 be changed:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
115 <itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
116 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
117 <para>Jumper across ST18 on the board to allow write access to the boot PROM.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
118 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
119 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
120 <para>Set DIP switch S1-3 to OFF to allow RedBoot to write to the system flash.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
121 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
122 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
123 <para>Set the switch S5 (on the front of the board) to boot from whichever flash is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
124 <emphasis>not</emphasis> being programmed. Note that the RedBoot image cannot access the flash from
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
125 which it is currently executing (it can only access the other flash).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
126 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
127 </itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
128 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
129 The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
130 TFTP services if that is how RedBoot should pick up the images it is going to program into the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
131 flash. Alternatively, the images can be passed by YMODEM over the serial link.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
132 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
133 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
134 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
135 <title>Preparing to use the JTAG debugger</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
136 <para>The JTAG debugger will also need setting up:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
137 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
138 <listitem><para>Install the JTAG debugger software (WICE103E) on a PC running Windows (WinNT is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
139 probably the best choice for this) in &ldquo;C:/PanaX&rdquo;.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
140 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
141 <listitem><para>Install the Matsushita provided &ldquo;project&rdquo; into the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
142 &ldquo;C:/Panax/wice103e/prj&rdquo; directory.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
143 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
144 <listitem><para>Install the RedBoot image files into the &ldquo;C:/Panax/wice103e/prj&rdquo;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
145 directory under the names redboot.ram and redboot.prom.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
146 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
147 <listitem><para>Make sure the PC's BIOS has the parallel port set to full bidirectional
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
148 mode.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
149 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
150 <listitem><para>Connect the JTAG debugger to the PC's parallel port.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
151 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
152 <listitem><para>Connect the JTAG debugger to the board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
153 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
154 <listitem><para>Set the switch on the front of the board to boot from &ldquo;boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
155 PROM&rdquo;.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
156 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
157 <listitem><para>Power up the JTAG debugger and then power up the board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
158 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
159 <listitem><para>Connect the board's Debug Serial port to a computer by a null modem cable.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
160 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
161 <listitem><para>Start minicom or some other serial communication software and set for 115200 baud,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
162 1-N-8 with hardware (RTS/CTS) flow control.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
163 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
164 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
165 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
166 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
167 <title>Loading the RAM-based RedBoot via JTAG</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
168 <para>To perform the first half of the operation, the following steps should be followed:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
169 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
170 <listitem><para>Start the JTAG debugger software.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
171 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
172 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
173 <para>Run the following commands at the JTAG debugger's prompt to set up the MMU registers on the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
174 CPU.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
175 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
176 <userinput>ed 0xc0002000, 0x12000580</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
177
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
178 <userinput>ed 0xd8c00100, 0x8000fe01</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
179 <userinput>ed 0xd8c00200, 0x21111000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
180 <userinput>ed 0xd8c00204, 0x00100200</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
181 <userinput>ed 0xd8c00208, 0x00000004</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
182
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
183 <userinput>ed 0xd8c00110, 0x8400fe01</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
184 <userinput>ed 0xd8c00210, 0x21111000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
185 <userinput>ed 0xd8c00214, 0x00100200</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
186 <userinput>ed 0xd8c00218, 0x00000004</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
187
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
188 <userinput>ed 0xd8c00120, 0x8600ff81</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
189 <userinput>ed 0xd8c00220, 0x21111000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
190 <userinput>ed 0xd8c00224, 0x00100200</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
191 <userinput>ed 0xd8c00228, 0x00000004</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
192
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
193 <userinput>ed 0xd8c00130, 0x8680ff81</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
194 <userinput>ed 0xd8c00230, 0x21111000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
195 <userinput>ed 0xd8c00234, 0x00100200</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
196 <userinput>ed 0xd8c00238, 0x00000004</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
197
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
198 <userinput>ed 0xd8c00140, 0x9800f801</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
199 <userinput>ed 0xd8c00240, 0x00140000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
200 <userinput>ed 0xd8c00244, 0x11011100</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
201 <userinput>ed 0xd8c00248, 0x01000001</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
202
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
203 <userinput>ed 0xda000000, 0x55561645</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
204 <userinput>ed 0xda000004, 0x000003c0</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
205 <userinput>ed 0xda000008, 0x9000fe01</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
206 <userinput>ed 0xda00000c, 0x9200fe01</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
207 <userinput>ed 0xda000000, 0xa89b0654</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
208 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
209 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
210 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
211 <para>Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
212 address space it can access:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
213 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
214 <userinput>ex 0x80000000,0x81ffffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
215 <userinput>ex 0x84000000,0x85ffffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
216 <userinput>ex 0x86000000,0x867fffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
217 <userinput>ex 0x86800000,0x87ffffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
218 <userinput>ex 0x8c000000,0x8cffffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
219 <userinput>ex 0x90000000,0x93ffffff,/mexram</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
220 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
221 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
222 <listitem><para>Instruct the debugger to load the RAM RedBoot image into RAM:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
223 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
224 <userinput>_pc=90000000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
225 <userinput>u_pc</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
226 <userinput>rd redboot.ram,90000000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
227 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
228 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
229 <listitem><para>Load the boot PROM RedBoot into RAM:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
230 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
231 <userinput>rd redboot.prom,91020000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
232 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
233 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
234 <listitem><para>Start RedBoot in RAM:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
235 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
236 <userinput>g</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
237 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
238 <para>Note that RedBoot may take some time to start up, as it will attempt to query a BOOTP or DHCP
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
239 server to try and automatically get an IP address for the board. Note, however, that it should send
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
240 a plus over the serial port immediately, and the 7-segment LEDs should display &ldquo;rh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
241 8&rdquo;.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
242 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
243 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
244 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
245 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
246 <title>Loading the boot PROM-based RedBoot via the RAM mode RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
247 <para>Once the RAM mode RedBoot is up and running, it can be communicated with by way of the serial
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
248 port. Commands can now be entered directly to RedBoot for flashing the boot PROM.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
249 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
250 <listitem><para>Instruct RedBoot to initialise the boot PROM:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
251 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
252 RedBoot> <userinput>fi init</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
253 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
254 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
255 <listitem><para>Write the previously loaded redboot.prom image into the boot PROM:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
256 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
257 RedBoot> <userinput>fi write -f 0x80000000 -b 0x91020000 -l 0x00020000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
258 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
259 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
260 <listitem><para>Check that RedBoot has written the image:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
261 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
262 RedBoot> <userinput>dump -b 0x91020000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
263 RedBoot> <userinput>dump -b 0x80000000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
264 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
265 <para>Barring the difference in address, the two dumps should be the same.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
266 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
267 <listitem><para>Close the JTAG software and power-cycle the board. The RedBoot banners should be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
268 displayed again over the serial port, followed by the RedBoot prompt. The boot PROM-based RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
269 will now be running.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
270 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
271 <listitem><para>Power off the board and unjumper ST18 to write-protect the contents of the boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
272 PROM. Then power the board back up.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
273 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
274 <listitem><para>Run the following command to initialise the system flash:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
275 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
276 RedBoot> <userinput>fi init</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
277 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
278 <para>Then program the system flash based RedBoot into the system flash:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
279 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
280 RedBoot> <userinput>load -r -b %{FREEMEMLO} redboot_FLASH.bin</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
281 RedBoot> <userinput>fi write -f 0x84000000 -b %{FREEMEMLO} -l 0x00020000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
282 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
283 <note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
284 <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
285 <para>RedBoot arranges the flashes on booting such that they always appear at the same addresses,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
286 no matter which one was booted from.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
287 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
288 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
289 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
290 <para>A similar sequence of commands can be used to program the boot PROM when RedBoot has been
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
291 booted from an image stored in the system flash.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
292 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
293 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
294 RedBoot> <userinput>load -r -b %{FREEMEMLO} /tftpboot/redboot_ROM.bin</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
295 RedBoot> <userinput>fi write -f 0x80000000 -b %{FREEMEMLO} -l 0x00020000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
296 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
297 <para>See <xref linkend="Persistent-State-Flash"> for details on configuring the RedBoot in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
298 general, and also <xref linkend="Flash-Image-System"> for more details on programming the system
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
299 flash.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
300 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
301 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
302 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
303 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
304 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
305 <title>Additional Commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
306 <para>The <command>exec</command> command which allows the loading and execution of
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
307 Linux kernels, is supported for this architecture (see <xref linkend="executing-programs">). The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
308 <command>exec</command> parameters used for ASB2305 board are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
309 <variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
310 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
311 -w <replaceable>&lt;time></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
312 <listitem><para>Wait time in seconds before starting kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
313 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
314 -c <replaceable>"params"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
315 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
316 <varlistentry><term><replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
317 <listitem><para>Kernel entry point, defaulting to the entry point of the last image
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
318 loaded</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
319 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
320 <para>The parameter string is stored in the on-chip memory at location 0x8C001000, and is prefixed
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
321 by &ldquo;cmdline:&rdquo; if it was supplied.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
322 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
323 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
324 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
325 <para>RedBoot sets up the following memory map on the ASB2305 board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
326 <note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
327 <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
328 <para>The regions mapped between 0x80000000-0x9FFFFFFF are cached by the CPU. However, all those
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
329 regions can be accessed uncached by adding 0x20000000 to the address.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
330 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
331 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
332 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
333 ----------------------- -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
334 0x80000000 - 0x9FFFFFFF Cached Region
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
335 0x80000000 - 0x81FFFFFF Boot PROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
336 0x84000000 - 0x85FFFFFF System Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
337 0x86000000 - 0x86007FFF 64Kbit Sys Config EEPROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
338 0x86F90000 - 0x86F90003 4x 7-segment LEDs
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
339 0x86FA0000 - 0x86FA0003 Software DIP Switches
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
340 0x86FB0000 - 0x86FB001F PC16550 Debug Serial Port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
341 0x8C000000 - 0x8FFFFFFF On-Chip Memory (repeated 16Kb SRAM)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
342 0x90000000 - 0x93FFFFFF SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
343 0x98000000 - 0x9BFFFFFF Paged PCI Memory Space (64Mb)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
344 0x9C000000 - 0x9DFFFFFF PCI Local SRAM (32Mb)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
345 0x9E000000 - 0x9E03FFFF PCI I/O Space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
346 0x9E040000 - 0x9E0400FF AM33-PCI Bridge Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
347 0x9FFFFFF4 - 0x9FFFFFF7 PCI Memory Page Register
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
348 0x9FFFFFF8 - 0x9FFFFFFF PCI Config Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
349 0xA0000000 - 0xBFFFFFFF Uncached Mirror Region
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
350 0xC0000000 - 0xDFFFFFFF CPU Control Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
351 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
352 <para>The ASB2305 HAL makes use of the on-chip memory in the following way:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
353 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
354 0x8C000000 - 0x8C0000FF hal_vsr_table
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
355 0x8C000100 - 0x8C0001FF hal_virtual_vector_table
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
356 0x8C001000 - Linux command line (RedBoot exec command)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
357 - 0x8C003FFF Emergency DoubleFault Exception Stack
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
358 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
359 <para>Currently the CPU's interrupt table lies at the beginning of the RedBoot image, which must
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
360 therefore be aligned to a 0xFF000000 mask.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
361 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
362 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
363 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
364
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
365 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
366 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
367 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
368 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
369 export TARGET=asb2305
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
370 export ARCH_DIR=mn10300
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
371 export PLATFORM_DIR=asb2305
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
372 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
373 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
374
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
375 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
376 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
377
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
378 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
379 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
380
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
381 <!-- *************************** ARM ******************* -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
382
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
383 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
384 <sect1 id="e7t">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
385 <title>ARM/ARM7 ARM Evaluator7T</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
386 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
387 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
388 <para><indexterm><primary>ARM Evaluator7T</primary><secondary>installing and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
389 testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
390 </primary><secondary>ARM Evaluator7T</secondary></indexterm>RedBoot supports
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
391 both serial ports for communication and downloads. The default serial port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
392 settings are 38400,8,N,1.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
393
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
394 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
395
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
396 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
397 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
398 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
399 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
400 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
401 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
402 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
403 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
404 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
405 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
406 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
407 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
408 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
409 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
410 <entry>RedBoot running from flash address 0x20000, with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
411 ARM Boot Monitor in flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
412 <entry>redboot_ROMA.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
413 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
414 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
415 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
416 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
417 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
418
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
419 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
420 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
421 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
422 <para>RedBoot is installed using the on-board boot environment. See the user
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
423 manual for full details.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
424 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
425 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
426 <title>Quick download instructions</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
427 <para>Here are quick start instructions for downloading the prebuilt Redboot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
428 image:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
429 <itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
430 <listitem><para>Boot the board and press ENTER:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
431 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
432
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
433 ARM Evaluator7T Boot Monitor PreRelease 1.00
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
434 Press ENTER within 2 seconds to stop autoboot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
435 Boot: </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
436 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
437 <listitem><para>Erase the part of the flash where RedBoot will get programmed:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
438 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
439 <screen> Boot: <userinput>flasherase 01820000 10000</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
440 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
441 <listitem><para>Prepare to download the UU-encoded version of the RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
442 image:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
443 <screen> Boot: <userinput>download 10000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
444 Ready to download. Use 'transmit' option on terminal emulator to download file.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
445 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
446 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
447 <listitem><para>Either use ASCII transmit option in the terminal emulator,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
448 or on Linux, simply cat the file to the serial port:<screen> $ <userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
449 cat redboot.UU > /dev/ttyS0</userinput></screen>When complete, you should
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
450 see:<screen> Loaded file redboot.bin at address 000100000, size = 41960
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
451 Boot:</screen></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
452 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
453 <listitem><para>Program the flash:<screen> Boot: <userinput>flashwrite 01820000 10000 10000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
454 </userinput></screen></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
455 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
456 <listitem><para>And verify that the module is available:<screen> Boot: <userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
457 rommodules</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
458 Header Base Limit
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
459 018057c8 01800000 018059e7 BootStrapLoader v1.0 Apr 27 2000 10:33:58
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
460 01828f24 01820000 0182a3e8 RedBoot Apr 5 2001</screen></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
461 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
462 <listitem><para>Reboot the board and you should see the RedBoot banner.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
463 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
464 </itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
465 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
466 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
467 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
468 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
469 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
470 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
471 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
472 <para>RedBoot sets up the following memory map on the E7T board. <note><title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
473 NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
474 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
475 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
476 </note> <programlisting>Physical Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
477 ----------------------- - - -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
478 0x00000000 - 0x0007ffff Y N SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
479 0x03ff0000 - 0x03ffffff N N Microcontroller registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
480 0x01820000 - 0x0187ffff N N System flash (mirrored)</programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
481 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
482 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
483 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
484
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
485 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
486 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
487 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
488 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
489 export TARGET=e7t
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
490 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
491 export PLATFORM_DIR=e7t
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
492 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
493 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
494
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
495 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
496 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
497
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
498 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
499 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
500
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
501 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
502 <sect1 id="integrator">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
503 <title>ARM/ARM7+ARM9 ARM Integrator</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
504 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
505 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
506 <para><indexterm><primary>ARM Integrator</primary><secondary>installing and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
507 testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
508 </primary><secondary>ARM Integrator</secondary></indexterm>RedBoot supports
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
509 both serial ports for communication and downloads. The default serial port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
510 settings are 38400,8,N,1.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
511
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
512 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
513
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
514 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
515 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
516 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
517 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
518 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
519 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
520 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
521 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
522 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
523 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
524 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
525 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
526 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
527 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
528 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
529 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
530 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
531 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
532 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
533 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
534 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
535 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
536 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
537 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
538 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
539 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
540 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
541 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
542 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
543 board's flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
544 <entry>redboot_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
545 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
546 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
547 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
548 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
549 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
550
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
551 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
552
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
553 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
554 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
555 <para>RedBoot is installed using the on-board bootPROM environment. See the user
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
556 manual for full details.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
557 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
558 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
559 <title>Quick download instructions</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
560 <para>Here are quick start instructions for downloading the prebuilt Redboot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
561 image:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
562 <itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
563 <listitem><para>Set DIP switch S1[1] to the ON position and reset or
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
564 power the board up. You will see the bootPROM startup message on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
565 serial port A (J14):</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
566 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
567 Initialising...
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
568
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
569
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
570 ARM bootPROM [Version 1.3] Rebuilt on Jun 26 2001 at 22:04:10
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
571 Running on a Integrator Evaluation Board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
572 Board Revision V1.0, ARM966E-S Processor
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
573 Memory Size is 16MBytes, Flash Size is 32MBytes
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
574 Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
575 Board designed by ARM Limited
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
576 Hardware support provided at http://www.arm.com/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
577 For help on the available commands type ? or h
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
578 boot Monitor >
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
579 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
580 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
581 <listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
582 <para>Issue the FLASH ROM load command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
583 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
584 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
585 boot Monitor > <userinput>L</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
586 Load Motorola S-Records into flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
587
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
588 Deleting Image 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
589
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
590 The S-Record loader only accepts input on the serial port.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
591 Type Ctrl/C to exit loader.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
592 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
593 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
594 <listitem><para>Either use the ASCII transmit option in the terminal emulator,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
595 or on Linux, simply cat the file to the serial port:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
596 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
597 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
598 $ <userinput>cat redboot.srec > /dev/ttyS0</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
599 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
600 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
601 When complete, type Ctrl-C and you should see something similar to:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
602 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
603 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
604 ................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
605 ................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
606 ....................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
607 Downloaded 5,394 records in 81 seconds.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
608
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
609 Overwritten block/s
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
610 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
611
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
612 boot Monitor >
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
613 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
614 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
615 <listitem><para>Set DIP switch S1[1] to the OFF position and reboot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
616 the board and you should see the RedBoot banner.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
617 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
618 </itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
619 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
620 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
621 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
622 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
623 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
624 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
625 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
626 <para>RedBoot sets up the following memory map on the Integrator board. <note><title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
627 NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
628 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
629 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
630 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
631 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
632
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
633 ARM7TDMI
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
634 --------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
635
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
636 Physical Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
637 ----------------------- - - -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
638 0x00000000 - 0x0007ffff N N SSRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
639 0x00080000 - 0x0fffffff N N SDRAM (depends on part fitted)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
640 0x10000000 - 0x1fffffff N N System control and peripheral registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
641 0x20000000 - 0x23ffffff N N Boot ROM (contains boot Monitor)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
642 0x24000000 - 0x27ffffff N N FLASH ROM (contains RedBoot)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
643 0x28000000 - 0x2bffffff N N SSRAM echo area
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
644 0x40000000 - 0x5fffffff N N PCI Memory access windows
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
645 0x60000000 - 0x60ffffff N N PCI IO access window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
646 0x61000000 - 0x61ffffff N N PCI config space window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
647 0x62000000 - 0x6200ffff N N PCI bridge register window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
648 0x80000000 - 0x8fffffff N N SDRAM echo area (used for PCI accesses)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
649
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
650
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
651 ARM966E
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
652 -------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
653
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
654 Physical Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
655 ----------------------- - - -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
656 0x00000000 - 0x000fffff N N SSRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
657 0x00100000 - 0x0fffffff N N SDRAM (depends on part fitted)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
658 0x10000000 - 0x1fffffff N N System control and peripheral registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
659 0x20000000 - 0x23ffffff N N Boot ROM (contains boot Monitor)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
660 0x24000000 - 0x27ffffff N N FLASH ROM (contains RedBoot)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
661 0x28000000 - 0x2bffffff N N SSRAM echo area
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
662 0x40000000 - 0x5fffffff N N PCI Memory access windows
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
663 0x60000000 - 0x60ffffff N N PCI IO access window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
664 0x61000000 - 0x61ffffff N N PCI config space window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
665 0x62000000 - 0x6200ffff N N PCI bridge register window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
666 0x80000000 - 0x8fffffff N N SDRAM echo area (used for PCI accesses)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
667
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
668 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
669 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
670 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
671 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
672 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
673
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
674 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
675 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
676 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
677 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
678 export TARGET=integrator
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
679 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
680 export PLATFORM_DIR=integrator
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
681 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
682 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
683
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
684 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
685 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
686
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
687 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
688 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
689
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
690 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
691 <sect1 id="pid">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
692 <title>ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
693 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
694 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
695 <para><indexterm><primary>ARM ARM7 PID, Dev7 and Dev9</primary><secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
696 installing and testing</secondary></indexterm><indexterm><primary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
697 and testing</primary><secondary>ARM ARM7 PID, Dev7 and Dev9</secondary></indexterm>RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
698 uses either of the serial ports. The default serial port settings are 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
699 Management of onboard flash is also supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
700
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
701 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
702
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
703 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
704 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
705 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
706 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
707 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
708 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
709 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
710 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
711 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
712 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
713 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
714 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
715 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
716 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
717 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
718 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
719 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
720 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
721 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
722 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
723 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
724 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
725 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
726 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
727 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
728 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
729 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
730 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
731 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
732 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
733
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
734 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
735 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
736 <para>Device programmer is used to program socketed flash parts with ROM version
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
737 of RedBoot. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
738 <para>Alternatively, to install RedBoot on a target that already has eCos
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
739 GDB stubs, download the RAM mode image of RedBoot and run it. Initialize the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
740 flash image directory: <command>fis init</command> Then
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
741 download the ROM version of RedBoot and program it into flash: <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
742 RedBoot> <userinput>load -b %{FREEMEMLO} -m ymodem</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
743 RedBoot> <userinput>fi cr RedBoot</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
744 </screen></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
745 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
746 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
747 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
748 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
749 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
750 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
751 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
752 <para>RedBoot sets up the following memory map on the PID board. <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
753 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
754 ----------------------- -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
755 0x00000000 - 0x0007ffff DRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
756 0x04000000 - 0x04080000 flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
757 0x08000000 - 0x09ffffff ASB Expansion
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
758 0x0a000000 - 0x0bffffff APB Reference Peripheral
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
759 0x0c000000 - 0x0fffffff NISA Serial, Parallel and PC Card ports </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
760 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
761 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
762 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
763
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
764 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
765 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
766 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
767 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
768 export TARGET=pid
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
769 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
770 export PLATFORM_DIR=pid
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
771 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
772 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
773
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
774 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
775 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
776
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
777 </sect2></sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
778
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
779 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
780 <sect1 id="at91">
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
781 <title>ARM/ARM7 Atmel AT91 Evaluation Boards (EBXX)</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
782 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
783 <title>Overview</title>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
784 <para><indexterm><primary>Atmel AT91/EBXX</primary>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
785 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
786 installing and testing</primary><secondary>Atmel AT91/EBXX
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
787 </secondary></indexterm>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
788 RedBoot support is available for the EB40, EB40A, EB42 and EB55
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
789 boards. By default all these boards are shipped with only 256Kbytes of
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
790 RAM. To minimize the amount of RAM used by RedBoot, only very basic
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
791 flash management is provided, comprising of just the <command>fis
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
792 erase</command> and <command>fis write</command> commands.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
793 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
794 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
795 RedBoot supports both serial ports.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
796 The default serial port settings are 38400,8,N,1.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
797 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
798
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
799 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
800
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
801 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
802 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
803 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
804 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
805 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
806 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
807 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
808 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
809 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
810 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
811 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
812 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
813 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
814 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
815 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
816 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
817 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
818 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
819 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
820 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
821 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
822 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
823 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
824 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
825 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
826 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
827 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
828 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
829 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
830 board's flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
831 <entry>redboot_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
832 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
833 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
834 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
835 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
836 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
837 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
838
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
839 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
840 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
841 <para>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
842 RedBoot installation is essentially the same for all boards, however
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
843 the details differ slightly. Please make sure you follow the
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
844 directions from the correct section below. Any errors could result in
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
845 an unusable board.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
846 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
847
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
848 <sect3>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
849 <title>Installing RedBoot on the EB40</title>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
850 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
851 This development board comes with ARM's debug tool, Angel, installed
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
852 in flash. At this time, Angel will not be replaced. Rather, RedBoot
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
853 will be placed in the alternate half of flash. Switch SW1 is used to
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
854 select which monitor to boot. Selecting SW1 to <literal>lower mem</literal> will
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
855 choose Angel. Select SW1 to <literal>Upper mem</literal> for RedBoot once it has been
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
856 installed.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
857 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
858 <para>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
859 Set SW1 to <literal>lower mem</literal> and connect serial port A to a
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
860 host computer. Using GDB from the host and Angel on the board,
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
861 download the RAM mode image of RedBoot to the board. SW1 should then
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
862 be set to <literal>upper mem</literal> just before starting RedBoot
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
863 using the <command>cont</command> command. Once RedBoot is started,
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
864 the Angel session must be interrupted (on Linux this can be done using
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
865 ^Z). Follow this by connecting to the board using minicom at
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
866 38400-8N1. At this point, RedBoot will be running on the board in
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
867 RAM. Now, download the ROM mode image and program it to flash.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
868 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
869 <userinput>arm-elf-gdb redboot_RAM.elf</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
870 (gdb) <userinput>tar rdi s=/dev/ttyS0</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
871 Angel Debug Monitor (serial) 1.04 (Advanced RISC Machines SDT 2.5) for
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
872 AT91EB40 (2.00)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
873 Angel Debug Monitor rebuilt on Apr 07 2000 at 12:40:31
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
874 Serial Rate: 9600
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
875 Connected to ARM RDI target.
845
fa9a9d22a594 * doc/redboot_installing.sgml: Updated AT91EB40 RedBoot installation
jld
parents: 835
diff changeset
876 (gdb) <userinput>set $cpsr=0xd3</userinput>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
877 (gdb) <userinput>load</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
878 Loading section .rom_vectors, size 0x40 lma 0x2020000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
879 Loading section .text, size 0x7fd8 lma 0x2020040
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
880 Loading section .rodata, size 0x15a0 lma 0x2028018
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
881 Loading section .data, size 0x2e4 lma 0x20295b8
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
882 Start address 0x2020040 , load size 39068
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
883 Transfer rate: 6250 bits/sec, 500 bytes/write.
845
fa9a9d22a594 * doc/redboot_installing.sgml: Updated AT91EB40 RedBoot installation
jld
parents: 835
diff changeset
884 </screen>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
885 At this point, set SW1 to <literal>upper mem</literal>.
845
fa9a9d22a594 * doc/redboot_installing.sgml: Updated AT91EB40 RedBoot installation
jld
parents: 835
diff changeset
886 <screen>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
887 (gdb) <userinput>cont</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
888 Continuing.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
889 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
890 At this point, suspend the GDB session (use Ctrl-Z) and start a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
891 terminal emulator:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
892 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
893 RedBoot> <userinput>version</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
894
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
895 RedBoot(tm) bootstrap and debug environment [RAM]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
896 Non-certified release, version UNKNOWN - built 14:09:27, Jul 20 2001
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
897
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
898 Platform: Atmel AT91/EB40 (ARM7TDMI)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
899 Copyright (C) 2000, 2001, Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
900
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
901 RAM: 0x02000000-0x02080000, 0x020116d8-0x0207fd00 available
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
902 FLASH: 0x01010000 - 0x01020000, 256 blocks of 0x00000100 bytes each.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
903
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
904 RedBoot> <userinput>load -m ymodem -b %{FREEMEMLO}</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
905 </screen>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
906 Use minicom to send the file redboot_ROM.srec via YModem.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
907 <screen>
845
fa9a9d22a594 * doc/redboot_installing.sgml: Updated AT91EB40 RedBoot installation
jld
parents: 835
diff changeset
908 RedBoot> <userinput>fi wr -f 0x01010000 -b %{FREEMEMLO} -l 0xe100</userinput>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
909 </screen>
845
fa9a9d22a594 * doc/redboot_installing.sgml: Updated AT91EB40 RedBoot installation
jld
parents: 835
diff changeset
910 Press the "reset" pushbutton and RedBoot
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
911 should come up on the board.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
912 </para>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
913 </sect3>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
914
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
915 <sect3>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
916 <title>Installing RedBoot on the EB40A, EB42 or EB55</title>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
917 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
918 These development boards come with ARM's debug tool, Angel, installed
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
919 in flash. At this time, Angel will not be replaced. Rather, RedBoot
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
920 will be placed in the alternate half of flash. Jumper JP1 is used to
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
921 select which monitor to boot. Setting JP1 to <literal>STD</literal>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
922 will choose Angel. Set JP1 to <literal>USER</literal> for RedBoot
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
923 once it has been installed.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
924 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
925 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
926 Set JP1 to <literal>STD</literal> and connect serial port A to a host
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
927 computer. Using GDB from the host and Angel on the board, download
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
928 the RAM mode image of RedBoot to the board. Start RedBoot using the
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
929 'cont' command. Once RedBoot is started, the Angel session must be
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
930 interrupted (on Linux this can be done using ^Z). Follow this by
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
931 connecting to the board using minicom at 38400-8N1. At this point,
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
932 RedBoot will be running on the board in RAM. Now, download the ROM
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
933 mode image and program it to flash.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
934 <screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
935 <userinput>arm-elf-gdb redboot_RAM.elf</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
936 (gdb) <userinput>tar rdi s=/dev/ttyS0</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
937 Angel Debug Monitor (serial) 1.04 (Advanced RISC Machines SDT 2.5) for AT91EB55 (2.20)
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
938 Angel Debug Monitor rebuilt on Feb 03 2002 at 16:10:20
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
939 Serial Rate: 9600
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
940 Connected to ARM RDI target.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
941 (gdb) <userinput>set $cpsr=0xd3</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
942 (gdb) <userinput>load</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
943 Loading section .rom_vectors, size 0x40 lma 0x2008000
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
944 Loading section .text, size 0xb0b8 lma 0x2008040
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
945 Loading section .rodata, size 0x1c27 lma 0x20130f8
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
946 Loading section .data, size 0x5f0 lma 0x2014d20
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
947 Start address 0x2008040, load size 54031
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
948 Transfer rate: 6264 bits/sec, 500 bytes/write.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
949 (gdb) <userinput>cont</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
950 Continuing.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
951 </screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
952 At this point, suspend the GDB session (use Ctrl-Z) and start a
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
953 terminal emulator:
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
954 <screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
955 RedBoot> <userinput>version</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
956
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
957 RedBoot(tm) bootstrap and debug environment [ROM]
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
958 Non-certified release, version UNKNOWN - built 16:58:52, May 7 2003
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
959
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
960 Platform: Atmel AT91/EB55 (ARM7TDMI)
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
961 Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
962
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
963 RAM: 0x02000000-0x02040000, 0x020068a8-0x0203f000 available
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
964 FLASH: 0x01010000 - 0x01200000, 31 blocks of 0x00010000 bytes each.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
965
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
966 RedBoot> <userinput>load -m ymodem -b %{FREEMEMLO}</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
967 </screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
968 Use minicom to send the file redboot_ROM.srec via YModem.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
969 <screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
970 RedBoot> <userinput>fi wr -f 0x01100000 -b %{FREEMEMLO} -l 0x10000</userinput>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
971 </screen>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
972 Set JP1 to the <literal>USER</literal> setting,
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
973 press the "reset" pushbutton and RedBoot
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
974 should come up on the board.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
975 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
976 </sect3>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
977
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
978
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
979 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
980 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
981 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
982 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
983 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
984 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
985 <title>Memory Maps </title>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
986 <para>This processor has no MMU, so the only memory map is for
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
987 physical addresses.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
988 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
989 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
990 The memory layout of the EB40 is as follows:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
991 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
992 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
993 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
994 0x00000000 - 0x00000fff On-chip SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
995 0x01000000 - 0x0101ffff Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
996 0x02000000 - 0x0207ffff RAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
997 0xffe00000 - 0xffffffff I/O registers
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
998 </programlisting>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
999
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1000 The flash based RedBoot image occupies virtual addresses 0x01010000 - 0x0101dfff.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1001 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1002
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1003 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1004 The memory layout of the EB40A is as follows:
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1005 <programlisting>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1006 Physical Address Range Description
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1007 ----------------------- ----------------------------------
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1008 0x00000000 - 0x0003ffff On-chip SRAM
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1009 0x01000000 - 0x011fffff Flash
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1010 0x02000000 - 0x02ffffff External SRAM (optional)
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1011 0xffe00000 - 0xffffffff I/O registers
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1012 </programlisting>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1013
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1014 The flash based RedBoot image occupies virtual addresses 0x01100000 - 0x0110ffff.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1015 </para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1017 <para>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1018 The memory layout of the EB42 and EB55 is as follows:
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1019 <programlisting>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1020 Physical Address Range Description
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1021 ----------------------- ----------------------------------
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1022 0x00000000 - 0x00000fff On-chip SRAM
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1023 0x01000000 - 0x011fffff Flash
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1024 0x02000000 - 0x0204ffff RAM
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1025 0xffe00000 - 0xffffffff I/O registers
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1026 </programlisting>
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1027
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1028 The flash based RedBoot image occupies virtual addresses 0x01100000 - 0x0110ffff.
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1029 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1030
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1031 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1032 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1033 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1034
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1035 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1036 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1037 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1038 <programlisting>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1039 export ARCH_DIR=arm
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1040
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1041 export TARGET=eb40
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1042 export PLATFORM_DIR=at91/eb40
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1043
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1044 export TARGET=eb40a
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1045 export PLATFORM_DIR=at91/eb40a
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1046
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1047 export TARGET=eb42
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1048 export PLATFORM_DIR=at91/eb42
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1049
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1050 export TARGET=eb55
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1051 export PLATFORM_DIR=at91/eb55
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1052 </programlisting>
1016
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1053
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1054 Use just one of the <literal>TARGET</literal> and
09c58c54db2f * ecos.db: Added packages and targets for Atmel AT91 boards: EB40,
nickg
parents: 845
diff changeset
1055 <literal>PLATFORM_DIR</literal> variable pairs only.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1056 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1057
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1058 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1059 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1060
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1061 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1062 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1063
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1064
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1065 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1066 <sect1 id="edb7xxx">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1067 <title>ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1068 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1069 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1070 <para><indexterm><primary>Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1071 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1072 installing and testing</primary><secondary>Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1073 </secondary></indexterm>RedBoot supports both serial ports on the board and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1074 the ethernet port. The default serial port settings are 38400,8,N,1. RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1075 also supports flash management on the EDB7xxx for the NOR flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1076 only.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1077
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1078 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1079
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1080 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1081 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1082 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1083 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1084 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1085 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1086 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1087 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1088 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1089 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1090 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1091 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1092 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1093 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1094 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1095 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1096 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1097 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1098 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1099 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1100 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1101 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1102 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1103 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1104 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1105 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1106 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1107 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1108 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1109 board's flash boot sector (EDB7312 only).</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1110 <entry>redboot_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1111 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1112 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1113 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1114 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1115 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1116
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1117 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1118 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1119 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1120 <para>A Windows or Linux utility is used to program flash using serial port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1121 #1 via on-chip programming firmware. See board documentation for details on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1122 in situ flash programming. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1123 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1124 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1125 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1126 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1127 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1128 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1129 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1130 <para>The MMU page tables and LCD display buffer, if enabled, are located
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1131 at the end of DRAM. <note><title>NOTE
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1132 </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1133 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1134 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1135 </note><programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1136 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1137 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1138 0x00000000 - 0x01ffffff NOR Flash (EDB7211, EDB7212)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1139 0x00000000 - 0x00ffffff NOR Flash (EDB7312)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1140 0x10000000 - 0x11ffffff NAND Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1141 0x20000000 - 0x2fffffff Expansion 2
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1142 0x30000000 - 0x3fffffff Expansion 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1143 0x40000000 - 0x4fffffff PCMCIA 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1144 0x50000000 - 0x5fffffff PCMCIA 1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1145 0x60000000 - 0x600007ff On-chip SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1146 0x80000000 - 0x8fffffff I/O registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1147 0xc0000000 - 0xc1ffffff DRAM (EDB7211, EDB7212)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1148 0xc0000000 - 0xc0ffffff DRAM (EDB7312)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1149
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1150 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1151 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1152 0x00000000 - 0x01ffffff Y Y DRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1153 0x00000000 - 0x00fcffff Y Y DRAM (EDB7312)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1154 0x20000000 - 0x2fffffff N N Expansion 2
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1155 0x30000000 - 0x3fffffff N N Expansion 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1156 0x40000000 - 0x4fffffff N N PCMCIA 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1157 0x50000000 - 0x5fffffff N N PCMCIA 1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1158 0x60000000 - 0x600007ff Y Y On-chip SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1159 0x80000000 - 0x8fffffff N N I/O registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1160 0xc0000000 - 0xc001ffff N Y LCD buffer (if configured)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1161 0xe0000000 - 0xe1ffffff Y Y NOR Flash (EDB7211, EDB7212)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1162 0xe0000000 - 0xe0ffffff Y Y NOR Flash (EDB7312)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1163 0xf0000000 - 0xf1ffffff Y Y NAND Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1164
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1165 The flash based RedBoot image occupies virtual addresses 0xe0000000 - 0xe003ffff.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1166 </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1167 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1168 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1169 <title>Platform Resource Usage</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1170 <para>The EP7xxx timer #2 is used as a polled timer to provide timeout support
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1171 for network and XModem file transfers.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1172 </sect2><sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1173
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1174 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1175
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1176
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1177 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1178 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1179 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1180 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1181 export TARGET=edb7211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1182 export TARGET=edb7212
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1183 export TARGET=edb7312
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1184 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1185 export PLATFORM_DIR=edb7xxx
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1186 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1187
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1188 Use one of the TARGET settings only.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1189 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1190
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1191 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1192 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1193
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1194 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1195 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1196
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1197 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1198 <sect1 id="aaed2000">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1199 <title>ARM/ARM9 Agilent AAED2000</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1200 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1201 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1202 <para><indexterm><primary>Agilent AAED2000 ARM9 (aaed)</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1203 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1204 installing and testing</primary><secondary>Agilent AAED2000 ARM9 (aaed)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1205 </secondary></indexterm>RedBoot supports the serial and ethernet ports
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1206 on the board. The default serial port settings are 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1207 RedBoot also supports flash management on the AAED2000.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1208
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1209 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1210
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1211 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1212 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1213 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1214 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1215 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1216 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1217 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1218 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1219 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1220 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1221 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1222 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1223 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1224 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1225 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1226 board's flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1227 <entry>redboot_primary_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1228 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1229 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1230 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1231 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1232 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1233 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1234 <entry>redboot_primary_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1235 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1236 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1237 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1238 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1239 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1240 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1241
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1242 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1243 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1244 <para>It is possible to install RedBoot in one of two ways. Either as
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1245 the primary bootmonitor on the board (installed to blocks 0-1 of the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1246 flash) or as the secondary bootmonitor on the board (installed to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1247 blocks 1-2 of the flash).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1248
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1249 <para>Presently, only the former method is supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1250 <!-- Nuke the above line if uncommenting this block
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1251 <para>When installed as the secondary bootmonitor, the ARM bootmonitor
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1252 remains in flash and auto-executes RedBoot (but only when RedBoot is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1253 smaller than 128KB - which means it cannot include the LCD driver).
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1254 It is of crucial importance that no RedBoot configured to be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1255 primary bootmonitor is executed on a board where RedBoot is actually
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1256 supposed to be the secondary bootmonitor since it may cause corruption
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1257 of the flash. Installing RedBoot as the primary booter is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1258 adviced.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1259 -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1260
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1261 <sect3><title>RedBoot as Primary Bootmonitor</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1262
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1263 <para>RedBoot is installed in flash using the on-board ARM Boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1264 Monitor.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1265 <para>Boot the board while pressing SPACE. This should bring up the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1266 Boot Monitor:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1267 <screen>ARM bootPROM [Version 1.3] Rebuilt on Jul 16 2001 at 16:21:36
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1268 Running on a P920 board Evaluation Board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1269 Board Revision V1.0, ARM920T processor Processor
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1270 Memory Size is 32MBytes, Flash Size is 32MBytes
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1271 Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1272 Board designed by ARM Limited
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1273 Hardware support provided at http://www.arm.com/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1274 For help on the available commands type ? or h
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1275 boot Monitor >
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1276 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1277
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1278 Download the RAM mode image of RedBoot configured as a primary
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1279 bootmonitor using the ARM bootmonitor's SREC-download command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1280
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1281 <screen>boot Monitor &gt; <userinput>m</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1282 Load Motorola S-Record image into memory and execute it
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1283 The S-Record loader only accepts input on the serial port.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1284 Record addresses must be between 0x00008000 and 0x01E0F510.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1285 Type Ctrl/C to exit loader.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1286 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1287
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1288 Use the terminal emulator's ASCII upload command, or (on Linux) simply
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1289 cat the file to the serial port:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1290
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1291 <screen>$ <userinput>cat redboot_primary_RAM/redboot.srec &gt;/dev/ttyS1</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1292 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1293
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1294 You should see RedBoot start up:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1295
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1296 <screen>FLASH configuration checksum error or invalid key
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1297 Ethernet eth0: MAC address 00:30:d3:03:04:99
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1298 IP: 192.168.42.111, Default server: 192.168.42.3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1299
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1300 RedBoot(tm) bootstrap and debug environment [RAM]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1301 Non-certified release, version UNKNOWN - built 13:15:40, Nov 9 2001
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1302
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1303 Platform: AAED2000 system (ARM9) [Primary]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1304 Copyright (C) 2000, 2001, Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1305
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1306 RAM: 0x00000000-0x01f80000, 0x0006f208-0x01f51000 available
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1307 FLASH: 0x60000000 - 0x62000000, 256 blocks of 0x00020000 bytes each.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1308 RedBoot></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1309
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1310 As can be seen from the output above, the network has been configured
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1311 to give the board an IP address and information about the default
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1312 server. If things are not set up on your network, you can still
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1313 continue, but use the Y-modem download method when loading the RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1314 ROMRAM mode image.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1315
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1316 Now initialize RedBoot's FIS:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1317
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1318 <screen>RedBoot&gt; <userinput>fis init</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1319 About to initialize [format] FLASH image system - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1320 *** Initialize FLASH Image System
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1321 Warning: device contents not erased, some blocks may not be usable
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1322 ... Erase from 0x61fe0000-0x62000000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1323 ... Program from 0x01f5f000-0x01f5f300 at 0x61fe0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1324 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1325
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1326 Download the ROMRAM mode image of RedBoot via ethernet:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1327
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1328 <screen>RedBoot&gt; <userinput>load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1329 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1330
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1331 or using serial Y-modem protocol:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1332
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1333 <screen>RedBoot&gt; <userinput>load -mode ymodem -b %{FREEMEMLO}</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1334 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1335
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1336 (Use the terminal emulator's Y-modem upload command to send the file
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1337 <filename>redboot_primary_ROMRAM/redboot.srec</filename>.)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1338
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1339 When the image has been downloaded, program it into flash:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1340
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1341 <screen>Address offset = 0x00ff8000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1342 Entry point: 0x00008040, address range: 0x00008000-0x0002da80
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1343 RedBoot&gt; <userinput>fi cr RedBoot</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1344 An image named 'RedBoot' exists - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1345 * CAUTION * about to program 'RedBoot'
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1346 at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1347 ... Erase from 0x60000000-0x60040000: ..
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1348 ... Program from 0x00100000-0x00140000 at 0x60000000: ..
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1349 ... Erase from 0x61fe0000-0x62000000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1350 ... Program from 0x01f5f000-0x01f7f000 at 0x61fe0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1351 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1352
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1353 Now reset the board. You should see the RedBoot banner.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1354
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1355 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1356
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1357 <!--
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1358 <sect3><title>RedBoot as Secondary Bootmonitor</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1359
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1360 <para>RedBoot is installed in flash using the on-board ARM Boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1361 Monitor.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1362 <para>Boot the board while pressing SPACE. This should bring up the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1363 Boot Monitor:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1364 <screen>ARM bootPROM [Version 1.3] Rebuilt on Jul 16 2001 at 16:21:36
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1365 Running on a P920 board Evaluation Board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1366 Board Revision V1.0, ARM920T processor Processor
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1367 Memory Size is 32MBytes, Flash Size is 32MBytes
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1368 Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1369 Board designed by ARM Limited
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1370 Hardware support provided at http://www.arm.com/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1371 For help on the available commands type ? or h
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1372 boot Monitor >
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1373 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1374
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1375 Download the RAM mode image of RedBoot configured as a secondary
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1376 bootmonitor using the ARM bootmonitor's SREC-download command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1377
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1378 <screen>boot Monitor &gt; <userinput>m</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1379 Load Motorola S-Record image into memory and execute it
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1380 The S-Record loader only accepts input on the serial port.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1381 Record addresses must be between 0x00008000 and 0x01E0F510.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1382 Type Ctrl/C to exit loader.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1383 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1384
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1385 Use the terminal emulator's ASCII upload command, or (on Linux) simply
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1386 cat the file to the serial port:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1387
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1388 <screen>$ <userinput>cat redboot_secondary_RAM.srec &gt;/dev/ttyS1</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1389 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1390
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1391 You should see RedBoot start up:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1392
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1393 <screen>FLASH configuration checksum error or invalid key
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1394 Ethernet eth0: MAC address 00:30:d3:03:04:99
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1395 IP: 192.168.42.111, Default server: 192.168.42.3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1396
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1397 RedBoot(tm) bootstrap and debug environment [RAM]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1398 Non-certified release, version UNKNOWN - built 12:31:13, Nov 9 2001
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1399
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1400 Platform: AAED2000 system (ARM9) [Secondary]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1401 Copyright (C) 2000, 2001, Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1402
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1403 RAM: 0x00000000-0x01f80000, 0x00063568-0x01f51000 available
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1404 FLASH: 0x60000000 - 0x62000000, 256 blocks of 0x00020000 bytes each.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1405 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1406
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1407 As can be seen from the output above, the network has been configured
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1408 to give the board an IP address and information about the default
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1409 server. If things are not set up on your network, you can still
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1410 continue, but use the Y-modem download method when loading the RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1411 ROMRAM mode image.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1412
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1413 Next step is to erase all of the flash, except where the ARM booter resides:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1414
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1415 <screen>RedBoot&gt; <userinput>fi erase -f 0x60020000 -l 0x01fe0000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1416 ... Erase from 0x60020000-0x62000000: ..........................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1417 ................................................................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1418 ................................................................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1419 .....................................................
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1420 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1421
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1422 Then initialize RedBoot's FIS:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1423
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1424 <screen>RedBoot&gt; <userinput>fi init</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1425 About to initialize [format] FLASH image system - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1426 *** Initialize FLASH Image System
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1427 Warning: device contents not erased, some blocks may not be usable
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1428 ... Erase from 0x61fc0000-0x61fe0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1429 ... Program from 0x01fdf000-0x01fff000 at 0x61fc0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1430 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1431
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1432 Download the ROMRAM mode RedBoot image via ethernet:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1433
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1434 <screen>RedBoot&gt; <userinput>load -raw -b %{FREEMEMLO} redboot_secondary_ROMRAM.arm.bin</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1435 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1436
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1437 or using serial Y-modem protocol:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1438
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1439 <screen>RedBoot&gt; <userinput>load -raw -mode ymodem -b %{FREEMEMLO}</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1440 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1441
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1442 (Use the terminal emulator's Y-modem upload command to send the file
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1443 <filename>redboot_secondary_ROMRAM.arm.bin</filename>.)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1444
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1445 When the image has been downloaded, program it into flash:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1446
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1447 <screen>RedBoot&gt; <userinput>fi cr RedBoot</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1448 An image named 'RedBoot' exists - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1449 * CAUTION * about to program 'RedBoot'
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1450 at 0x60020000..0x6005ffff from 0x00100000 - continue (y/n)? <userinput>y</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1451 ... Erase from 0x60020000-0x60060000: ..
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1452 ... Program from 0x00100000-0x00140000 at 0x60020000: ..
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1453 ... Erase from 0x61fc0000-0x61fe0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1454 ... Program from 0x01f5f000-0x01f7f000 at 0x61fc0000: .
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1455 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1456
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1457 Now reset the board. You might see the ARM Monitor complain:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1458
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1459 <screen>Failed to boot from flash.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1460 The ARM Boot Monitor SIB can not be found.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1461 Press any key to continue.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1462 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1463
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1464 This is due to due to the flash having been erased. Press a key, and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1465 execute the "validate flash contents" command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1466
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1467 <screen>boot Monitor &gt; <userinput>v</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1468
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1469 There are 254 128KByte blocks of Application Flash:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1470
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1471 No images found!
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1472 ================
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1473
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1474 System Information Blocks
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1475 =========================
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1476 Address Owner Size Idx Rev
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1477 ~~~~~~~ ~~~~~ ~~~~ ~~~ ~~~
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1478 0x05FE0000 ARM Boot Monitor 312 0 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1479
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1480
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1481 Blocks of unknown type
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1482 ======================
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1483 Block Size Footer Type
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1484 ~~~~~ ~~~~ ~~~~~~~~~~~
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1485 252 1 0x52420000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1486 boot Monitor &gt;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1487 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1488
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1489 This causes the last block of the flash to be initialized with the ARM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1490 Boot Monitor ID, necessary for the Monitor to work properly. When
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1491 resetting the board now, it should automatically start RedBoot. If you
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1492 ever need to get into the ARM Boot Monitor again, reset the board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1493 while pressing the SPACE key.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1494
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1495 </para></sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1496 -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1497
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1498 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1499
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1500 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1501 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1502 <para>The <command>exec</command> command which allows the loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1503 and execution of Linux kernels,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1504 is supported for this board (see <xref linkend="executing-programs">). The <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1505 exec</command> parameters used for the AAED2000 are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1506 <variablelist><varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1507 <term>-b <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1508 <listitem><para>Location Linux kernel was loaded to</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1509 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1510 -l <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1511 <listitem><para>Length of kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1512 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1513 -c <replaceable>"params"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1514 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1515 <varlistentry><term>-r <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1516 <listitem><para>'initrd' ramdisk location</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1517 <varlistentry><term>-s <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1518 <listitem><para>Length of initrd ramdisk</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1519 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1520
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1521 <para>The parameters for kernel image base and size are automatically
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1522 set after a load operation. So one way of starting the kernel would
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1523 be:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1524
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1525 <screen>RedBoot&gt; <userinput>load -r -b 0x100000 zImage</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1526 Raw file loaded 0x00100000-0x001a3d6c
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1527 RedBoot&gt; exec -c "console=ttyAC0,38400"
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1528 Using base address 0x00100000 and length 0x000a3d6c
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1529 Uncompressing Linux.....
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1530 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1531
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1532 An image could also be put in flash and started directly:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1533
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1534 <screen>RedBoot&gt; <userinput>exec -b 0x60040000 -l 0xc0000 -c "console=ttyAC0,38400"</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1535 Uncompressing Linux.....
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1536 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1537
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1538 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1539
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1540 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1541 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1542 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1543 <para>The MMU page tables are located at 0x4000. <note><title>NOTE
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1544 </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1545 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1546 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1547 </note><programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1548 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1549 0x00000000 - 0x01ffffff Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1550 0x10000000 - 0x100fffff Ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1551 0x30000000 - 0x300fffff Board registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1552 0x40000000 - 0x4fffffff PCMCIA Slot (0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1553 0x50000000 - 0x5fffffff Compact Flash Slot (1)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1554 0x80000000 - 0x800037ff I/O registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1555 0xb0060000 - 0xb00fffff On-chip SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1556 0xf0000000 - 0xfd3fffff SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1557
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1558 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1559 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1560 0x00000000 - 0x01f7ffff Y Y SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1561 0x01f80000 - 0x01ffffff Y Y SDRAM (used for LCD frame buffer)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1562 0x10000000 - 0x100fffff N N Ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1563 0x30000000 - 0x300fffff N N Board registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1564 0x40000000 - 0x4fffffff N N PCMCIA Slot (0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1565 0x50000000 - 0x5fffffff N N Compact Flash Slot (1)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1566 0x60000000 - 0x61ffffff N N Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1567 0x80000000 - 0x800037ff N N I/O registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1568 0xf0000000 - 0xffffffff N N SDRAM (uncached)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1569
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1570 </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1571
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1572 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1573 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1574 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1575
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1576 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1577 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1578 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1579 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1580 export TARGET=aaed
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1581 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1582 export PLATFORM_DIR=arm9/aaed2000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1583 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1584 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1585
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1586 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1587 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1588
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1589 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1590 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1591
632
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1592 <?Pub _newpage>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1593 <sect1 id="excaliburarm9">
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1594 <title>ARM/ARM9 Altera Excalibur</title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1595 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1596 <title>Overview</title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1597 <para><indexterm><primary>Altera Excalibur ARM9 (excalibur_arm9)</primary>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1598 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1599 installing and testing</primary><secondary>Altera Excalibur ARM9 (excalibur_arm9)
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1600 </secondary></indexterm>RedBoot supports the serial port labelled
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1601 P2 on the board. The default serial port settings are 57600,8,N,1. RedBoot
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1602 also supports flash management on the Excalibur.</para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1603
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1604 <para>The following RedBoot configurations are supported:
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1605
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1606 <informaltable frame="all">
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1607 <tgroup cols="4" colsep="1" rowsep="1" align="left">
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1608 <thead>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1609 <row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1610 <entry>Configuration</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1611 <entry>Mode</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1612 <entry>Description</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1613 <entry>File</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1614 </row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1615 </thead>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1616 <tbody>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1617 <row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1618 <entry>ROMRAM</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1619 <entry>[ROMRAM]</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1620 <entry>RedBoot running from RAM, but contained in the
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1621 board's flash boot sector.</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1622 <entry>redboot_ROMRAM.ecm</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1623 </row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1624 <row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1625 <entry>RAM</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1626 <entry>[RAM]</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1627 <entry>RedBoot running from RAM with RedBoot in the
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1628 flash boot sector.</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1629 <entry>redboot_RAM.ecm</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1630 </row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1631 <row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1632 <entry>REDBOOT</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1633 <entry>[ROMRAM]</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1634 <entry>RedBoot running from top of RAM, but contained in
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1635 the board's flash boot sector.</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1636 <entry>redboot_REDBOOT.ecm</entry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1637 </row>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1638 </tbody>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1639 </tgroup>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1640 </informaltable>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1641 </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1642
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1643 <note> <title>NOTE</title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1644 <para>RedBoot is currently hardwired to use a 128MB SDRAM SIMM module.
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1645 </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1646 </note>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1647 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1648
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1649 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1650 <title>Initial Installation Method </title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1651 <para>A Windows utility
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1652 (<application>exc_flash_programmer.exe</application>) is used to
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1653 program flash using the ByteBlasterMV JTAG unit.
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1654 See board documentation for details on
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1655 in situ flash programming. </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1656 <para>For ethernet to work (under Linux) the following jumper
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1657 settings should be used on a REV 2 board: <literallayout>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1658 SW2-9 : OFF
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1659 U179 : 2-3
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1660 JP14-18 : OPEN
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1661 JP40-41 : 2-3
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1662 JP51-55 : 2-3
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1663 </literallayout>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1664 </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1665 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1666 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1667 <title>Flash management</title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1668
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1669 <para>The ROMRAM and REDBOOT configurations supported on this platform
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1670 differ only in the memory layout (ROMRAM configuration runs RedBoot from
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1671 0x00008000 while REDBOOT configuration runs RedBoot from 0x07f80000). The
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1672 REDBOOT configuration allows applications to be loaded and run from
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1673 address 0x00008000.</para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1674 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1675 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1676 <title>Special RedBoot Commands </title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1677 <para>The <command>exec</command> command which allows the loading
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1678 and execution of Linux kernels,
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1679 is supported for this board (see <xref linkend="executing-programs">). The <command>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1680 exec</command> parameters used for the Excalibur are:</para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1681 <variablelist><varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1682 <term>-b <replaceable>&lt;addr></replaceable></term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1683 <listitem><para>Location Linux kernel was loaded to</para></listitem></varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1684 <varlistentry><term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1685 -l <replaceable>&lt;len></replaceable></term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1686 <listitem><para>Length of kernel</para></listitem></varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1687 <varlistentry><term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1688 -c <replaceable>"params"</replaceable></term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1689 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1690 <varlistentry><term>-r <replaceable>&lt;addr></replaceable></term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1691 <listitem><para>'initrd' ramdisk location</para></listitem></varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1692 <varlistentry><term>-s <replaceable>&lt;len></replaceable></term>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1693 <listitem><para>Length of initrd ramdisk</para></listitem></varlistentry>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1694 </variablelist>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1695
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1696 <para>The parameters for kernel image base and size are automatically
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1697 set after a load operation. So one way of starting the kernel would
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1698 be:
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1699
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1700 <screen>RedBoot&gt; <userinput>load -r -b 0x100000 zImage</userinput>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1701 Raw file loaded 0x00100000-0x001a3d6c
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1702 RedBoot&gt; <userinput>exec -c "console=ttyUA0,57600"</userinput>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1703 Using base address 0x00100000 and length 0x000a3d6c
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1704 Uncompressing Linux.....
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1705 </screen>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1706
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1707 An image could also be put in flash and started directly:
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1708
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1709 <screen>RedBoot&gt; <userinput>exec -b 0x40400000 -l 0xc0000 -c "console=ttyUA0,57600"</userinput>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1710 Uncompressing Linux.....
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1711 </screen>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1712
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1713 </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1714 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1715 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1716 <title>Memory Maps </title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1717 <para>The MMU page tables are located at 0x4000. <note><title>NOTE
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1718 </title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1719 <para>The virtual memory maps in this section use a C and B column to indicate
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1720 whether or not the region is cached (C) or buffered (B).</para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1721 </note><programlisting>Physical Address Range Description
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1722 ----------------------- ----------------------------------
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1723 0x00000000 - 0x07ffffff SDRAM
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1724 0x08000000 - 0x0805ffff On-chip SRAM
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1725 0x40000000 - 0x40ffffff Flash
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1726 0x7fffc000 - 0x7fffffff I/O registers
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1727 0x80000000 - 0x8001ffff PLD
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1728
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1729 Virtual Address Range C B Description
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1730 ----------------------- - - ----------------------------------
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1731 0x00000000 - 0x07ffffff Y Y SDRAM
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1732 0x08000000 - 0x0805ffff Y Y On-chip SRAM
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1733 0x40000000 - 0x403fffff N Y Flash
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1734 0x7fffc000 - 0x7fffffff N N I/O registers
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1735 0x80000000 - 0x8001ffff N N PLD
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1736 </programlisting></para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1737
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1738 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1739 <sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1740 <title>Rebuilding RedBoot</title>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1741
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1742 <para>These shell variables provide the platform-specific information
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1743 needed for building RedBoot according to the procedure described in
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1744 <xref linkend="Rebuilding-Redboot">:
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1745 <programlisting>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1746 export TARGET=excalibur_arm9
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1747 export ARCH_DIR=arm
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1748 export PLATFORM_DIR=arm9/excalibur
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1749 </programlisting>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1750 </para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1751
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1752 <para>The names of configuration files are listed above with the
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1753 description of the associated modes.</para>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1754
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1755 </sect2>
b928cfca72fc * cdl/redboot.cdl: Put virtually all options inside
jlarmour
parents: 333
diff changeset
1756 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1757
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1758 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1759 <sect1 id="ebsa285">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1760 <title>ARM/StrongARM(SA110) Intel EBSA 285</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1761 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1762 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1763 <para><indexterm><primary>Intel StrongArm EBSA 285</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1764 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1765 </primary><secondary>Intel StrongArm EBSA 285</secondary></indexterm>RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1766 uses the single EBSA-285 serial port. The default serial port settings are
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1767 38400,8,N,1. If the EBSA-285 is used as a host on a PCI backplane, ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1768 is supported using an Intel PRO/100+ ethernet adapter. Management of
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1769 onboard flash is also supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1770
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1771 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1772
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1773 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1774 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1775 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1776 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1777 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1778 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1779 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1780 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1781 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1782 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1783 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1784 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1785 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1786 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1787 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1788 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1789 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1790 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1791 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1792 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1793 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1794 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1795 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1796 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1797 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1798 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1799 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1800 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1801 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1802
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1803 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1804 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1805 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1806 <para>A linux application is used to program the flash over the PCI bus. Sources
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1807 and build instructions for this utility are located in the RedBoot sources
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1808 in: <filename class="directory">packages/hal/arm/ebsa285/current/support/linux/safl_util</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1809 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1810 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1811 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1812 <title>Communication Channels </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1813 <para>Serial, Intel PRO 10/100+ 82559 PCI ethernet card.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1814 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1815 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1816 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1817 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1818 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1819 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1820 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1821 <para>Physical and virtual mapping are mapped one to one on the EBSA-285 using
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1822 a first level page table located at address 0x4000. No second level tables
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1823 are used. <note><title>NOTE </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1824 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1825 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1826 </note><programlisting>Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1827 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1828 0x00000000 - 0x01ffffff Y Y SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1829 0x40000000 - 0x400fffff N N 21285 Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1830 0x41000000 - 0x413fffff Y N flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1831 0x42000000 - 0x420fffff N N 21285 CSR Space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1832 0x50000000 - 0x50ffffff Y Y Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1833 0x78000000 - 0x78ffffff N N Outbound Write Flush
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1834 0x79000000 - 0x7c0fffff N N PCI IACK/Config/IO
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1835 0x80000000 - 0xffffffff N Y PCI Memory </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1836 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1837 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1838 <title>Platform Resource Usage </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1839 <para>Timer3 is used as a polled timer to provide timeout support for networking
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1840 and XModem file transfers.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1841 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1842 <!--
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1843 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1844 <title>Building eCos Test Cases to run with old RedBoots</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1845 <para>If using older versions of RedBoot, the default configuration for
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1846 EBSA-285 will send diagnostic output to the serial line only, not over an ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1847 connection. To allow eCos programs to use RedBoot to channel diagnostic output to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1848 GDB whether connected by net or serial, enable the configuration option <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1849 CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1850 "Do diagnostic IO via virtual vector table"</programlisting> located here
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1851 in the common HAL configuration tree: <programlisting>"eCos HAL"
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1852 "ROM monitor support"
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1853 "Enable use of virtual vector calling interface"
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1854 "Do diagnostic IO via virtual vector table"</programlisting>Other
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1855 than that, no special configuration is required to use RedBoot. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1856 <para>If you have been using built-in stubs to acquire support for thread-aware
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1857 debugging, you can still do that, but you must only use the serial device
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1858 for GDB connection and you must not enable the option mentioned above. However,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1859 it is no longer necessary to do that to get thread-awareness; RedBoot is thread
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1860 aware.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1861 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1862 -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1863 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1864 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1865
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1866 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1867 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1868 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1869 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1870 export TARGET=ebsa285
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1871 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1872 export PLATFORM_DIR=ebsa285
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1873 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1874 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1875
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1876 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1877 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1878
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1879 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1880 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1881
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1882 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1883 <sect1 id="brutus">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1884 <title>ARM/StrongARM(SA1100) Intel Brutus</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1885 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1886 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1887 <para><indexterm><primary>Intel-SA1100 (Brutus)</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1888 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1889 </primary><secondary>Intel SA1100 (Brutus)</secondary></indexterm>RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1890 supports both board serial ports on the Brutus board. The default serial port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1891 settings are 38400,8,N,1. flash management is not currently supported. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1892
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1893 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1894
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1895 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1896 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1897 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1898 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1899 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1900 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1901 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1902 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1903 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1904 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1905 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1906 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1907 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1908 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1909 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1910 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1911 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1912 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1913 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1914 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1915 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1916 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1917 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1918 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1919 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1920 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1921 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1922 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1923 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1924
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1925 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1926 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1927 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1928 <para>Device programmer is used to program socketed flash parts.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1929 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1930 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1931 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1932 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1933 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1934 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1935 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1936 <para>The first level page table is located at physical address 0xc0004000.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1937 No second level tables are used.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1938
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1939 <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1940 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1941 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1942
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1943 </note><programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1944 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1945 0x00000000 - 0x000fffff Boot ROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1946 0x08000000 - 0x083fffff Application flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1947 0x10000000 - 0x100fffff SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1948 0x18000000 - 0x180fffff Chip Select 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1949 0x20000000 - 0x3fffffff PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1950 0x80000000 - 0xbfffffff SA-1100 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1951 0xc0000000 - 0xc7ffffff DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1952 0xc8000000 - 0xcfffffff DRAM Bank 1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1953 0xd0000000 - 0xd7ffffff DRAM Bank 2
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1954 0xd8000000 - 0xdfffffff DRAM Bank 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1955 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1956
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1957
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1958 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1959 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1960 0x00000000 - 0x003fffff Y Y DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1961 0x00400000 - 0x007fffff Y Y DRAM Bank 1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1962 0x00800000 - 0x00bfffff Y Y DRAM Bank 2
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1963 0x00c00000 - 0x00ffffff Y Y DRAM Bank 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1964 0x08000000 - 0x083fffff Y Y Application flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1965 0x10000000 - 0x100fffff Y N SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1966 0x20000000 - 0x3fffffff N N PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1967 0x40000000 - 0x400fffff Y Y Boot ROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1968 0x80000000 - 0xbfffffff N N SA-1100 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1969 0xe0000000 - 0xe7ffffff Y Y Cache Clean</programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1970 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1971 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1972 <title>Platform Resource Usage </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1973 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1974 The SA11x0 OS timer is used as a polled timer to provide timeout
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1975 support for XModem file transfers.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1976 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1977 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1978 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1979
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1980 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1981 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1982 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1983 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1984 export TARGET=brutus
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1985 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1986 export PLATFORM_DIR=sa11x0/brutus
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1987 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1988 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1989
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1990 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1991 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1992
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1993 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1994 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1995
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1996 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1997 <sect1 id="sa1100mm">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1998 <title>ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
1999 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2000 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2001 <para><indexterm><primary>Intel SA1100 Multimedia Board</primary><secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2002 installing and testing</secondary></indexterm><indexterm><primary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2003 and testing</primary><secondary>Intel SA1100 Multimedia Board</secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2004 </indexterm>RedBoot supports both board serial ports. The default serial port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2005 settings are 38400,8,N,1. flash management is also supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2006
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2007 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2008
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2009 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2010 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2011 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2012 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2013 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2014 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2015 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2016 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2017 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2018 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2019 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2020 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2021 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2022 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2023 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2024 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2025 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2026 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2027 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2028 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2029 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2030 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2031 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2032 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2033 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2034 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2035 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2036 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2037 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2038 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2039
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2040 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2041 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2042 <para>A device programmer is used to program socketed flash parts.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2043 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2044 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2045 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2046 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2047 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2048 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2049 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2050 <para>The first level page table is located at physical address 0xc0004000.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2051 No second level tables are used.<note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2052 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2053 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2054 </note><programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2055 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2056 0x00000000 - 0x000fffff Boot flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2057 0x08000000 - 0x083fffff Application flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2058 0x10000000 - 0x107fffff SA-1101 Board Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2059 0x18000000 - 0x180fffff Ct8020 DSP
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2060 0x18400000 - 0x184fffff XBusReg
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2061 0x18800000 - 0x188fffff SysRegA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2062 0x18c00000 - 0x18cfffff SysRegB
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2063 0x19000000 - 0x193fffff Spare CPLD A
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2064 0x19400000 - 0x197fffff Spare CPLD B
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2065 0x20000000 - 0x3fffffff PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2066 0x80000000 - 0xbfffffff SA1100 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2067 0xc0000000 - 0xc07fffff DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2068 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2069 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2070
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2071
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2072 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2073 0x00000000 - 0x007fffff Y Y DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2074 0x08000000 - 0x083fffff Y Y Application flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2075 0x10000000 - 0x100fffff N N SA-1101 Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2076 0x18000000 - 0x180fffff N N Ct8020 DSP
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2077 0x18400000 - 0x184fffff N N XBusReg
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2078 0x18800000 - 0x188fffff N N SysRegA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2079 0x18c00000 - 0x18cfffff N N SysRegB
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2080 0x19000000 - 0x193fffff N N Spare CPLD A
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2081 0x19400000 - 0x197fffff N N Spare CPLD B
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2082 0x20000000 - 0x3fffffff N N PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2083 0x50000000 - 0x500fffff Y Y Boot flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2084 0x80000000 - 0xbfffffff N N SA1100 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2085 0xc0000000 - 0xc07fffff N Y DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2086 0xe0000000 - 0xe7ffffff Y Y Cache Clean</programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2087 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2088 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2089 <title>Platform Resource Usage </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2090 <para> The SA11x0 OS timer is used as a polled timer to provide timeout support
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2091 for XModem file transfers.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2092 </sect2><sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2093
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2094 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2095
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2096 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2097 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2098 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2099 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2100 export TARGET=sa1100mm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2101 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2102 export PLATFORM_DIR=sa11x0/sa1100mm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2103 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2104 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2105
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2106 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2107 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2108
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2109 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2110 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2111
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2112
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2113
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2114 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2115 <sect1 id="assabet">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2116 <title>ARM/StrongARM(SA1110) Intel SA1110 (Assabet) </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2117 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2118 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2119 <para><indexterm><primary>Intel SA1110 (Assabet)</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2120 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2121 </primary><secondary>Intel SA1110 (Assabet)</secondary></indexterm>RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2122 supports the board serial port and the compact flash ethernet port. The default
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2123 serial port settings are 38400,8,N,1. RedBoot also supports flash management
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2124 on the Assabet. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2125
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2126 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2127
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2128 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2129 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2130 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2131 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2132 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2133 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2134 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2135 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2136 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2137 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2138 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2139 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2140 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2141 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2142 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2143 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2144 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2145 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2146 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2147 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2148 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2149 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2150 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2151 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2152 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2153 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2154 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2155 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2156 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2157 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2158 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2159 <title>Initial Installation Method</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2160 <para>A Windows or Linux utility is used to program flash over parallel port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2161 driven JTAG interface. See board documentation for details on in situ flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2162 programming. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2163 <para>The flash parts are also socketed and may be programmed in a suitable
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2164 device programmer.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2165 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2166 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2167 <title>Special RedBoot Commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2168 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2169 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2170 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2171 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2172 <para>The first level page table is located at physical address 0xc0004000.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2173 No second level tables are used.<note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2174 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2175 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2176 </note><programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2177 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2178 0x00000000 - 0x07ffffff flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2179 0x08000000 - 0x0fffffff SA-1111 Board flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2180 0x10000000 - 0x17ffffff Board Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2181 0x18000000 - 0x1fffffff Ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2182 0x20000000 - 0x2fffffff SA-1111 Board PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2183 0x30000000 - 0x3fffffff Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2184 0x40000000 - 0x47ffffff SA-1111 Board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2185 0x48000000 - 0x4bffffff GFX
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2186 0x80000000 - 0xbfffffff SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2187 0xc0000000 - 0xc7ffffff DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2188 0xc8000000 - 0xcfffffff DRAM Bank 1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2189 0xd0000000 - 0xd7ffffff DRAM Bank 2
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2190 0xd8000000 - 0xdfffffff DRAM Bank 3
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2191 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2192
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2193
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2194 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2195 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2196 0x00000000 - 0x01ffffff Y Y DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2197 0x08000000 - 0x0fffffff Y Y SA-1111 Board flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2198 0x10000000 - 0x17ffffff N N Board Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2199 0x18000000 - 0x1fffffff N N Ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2200 0x20000000 - 0x2fffffff N N SA-1111 Board PCMCIA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2201 0x30000000 - 0x3fffffff N N Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2202 0x40000000 - 0x47ffffff N N SA-1111 Board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2203 0x48000000 - 0x4bffffff N N GFX
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2204 0x50000000 - 0x57ffffff Y Y flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2205 0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2206 0xc0000000 - 0xc1ffffff N Y DRAM Bank 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2207 0xe0000000 - 0xe7ffffff Y Y Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2208 </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2209 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2210 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2211 <title>Platform Resource Usage </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2212 <para>The SA11x0 OS timer is used as a polled timer to provide timeout support
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2213 for network and XModem file transfers.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2214 </sect2><sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2215 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2216
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2217 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2218 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2219 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2220 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2221 export TARGET=assabet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2222 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2223 export PLATFORM_DIR=sa11x0/assabet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2224 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2225 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2226
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2227 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2228 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2229
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2230 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2231 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2232
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2233 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2234 <sect1 id="nano">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2235 <title>ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2236 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2237 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2238 <para><indexterm><primary>commEngine</primary><secondary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2239 </secondary></indexterm><indexterm><primary>nanoEngine</primary><secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2240 installing and testing</secondary></indexterm><indexterm><primary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2241 and testing</primary><secondary>commEngine</secondary></indexterm><indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2242 <primary>installing and testing</primary><secondary>nanoEngine</secondary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2243 </indexterm>RedBoot supports a serial port and the built in ethernet port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2244 for communication and downloads. The default serial port settings are 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2245 RedBoot runs from and supports flash management for the system flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2246 region.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2247
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2248 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2249
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2250 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2251 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2252 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2253 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2254 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2255 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2256 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2257 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2258 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2259 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2260 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2261 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2262 <entry>POST</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2263 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2264 <entry>RedBoot running from the first free flash block
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2265 at 0x40000.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2266 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2267 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2268 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2269 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2270 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2271 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2272 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2273 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2274 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2275 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2276 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2277 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2278 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2279
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2280 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2281 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2282 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2283 <para>Unlike other targets, the nanoEngine comes equipped with boot firmware
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2284 which you cannot modify. See chapter 5, "nanoEngine Firmware" of the <citetitle>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2285 nanoEngine Hardware Reference Manual</citetitle> (we refer to "July 17, 2000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2286 Rev 0.6") from Bright Star Engineering. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2287 <para>Because of this, eCos, and therefore Redboot, only supports a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2288 special configuration of the ROM mode, starting at offset 0x40000 in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2289 the flash.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2290 <para>Briefly, the POST-configuration RedBoot image lives in flash following the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2291 BSE firmware. The BSE firmware is configured, using its standard <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2292 bootcmd</command> command, to run RedBoot at startup.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2293 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2294 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2295 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2296 <title>Download Instructions</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2297 <para>You can perform the initial load of the POST-configuration RedBoot image into
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2298 flash using the BSE firmware's <command>load</command> command.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2299 This will load a binary file, using TFTP, and program it into flash in one
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2300 operation. Because no memory management is used in the BSE firmware, flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2301 is mapped from address zero upwards, so the address for the RedBoot POST image
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2302 is 0x40000. You must use the binary version of RedBoot for this,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2303 <filename>redboot-post.bin</filename>.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2304
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2305 <para>This assumes you have set up the other BSE firmware config
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2306 parameters such that it can communicate over your network to your TFTP
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2307 server.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2308 <screen>><userinput>load redboot-post.bin 40000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2309 loading ... erasing blk at 00040000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2310 erasing blk at 00050000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2311 94168 bytes loaded cksum 00008579
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2312 done
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2313 >
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2314 > <userinput>set bootcmd "go 40000"</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2315 > <userinput>get</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2316 myip = 10.16.19.198
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2317 netmask = 255.255.255.0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2318 eth = 0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2319 gateway = 10.16.19.66
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2320 serverip = 10.16.19.66
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2321 bootcmd = go 40000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2322 ></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2323
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2324 <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2325 <para>the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2326 at 38400 Baud. You must select the right baud rate in your terminal program
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2327 to be able to set up the BSE firmware.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2328 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2329
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2330 After a reset, the BSE firmware will print
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2331
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2332 <screen>Boot: BSE 2000 Sep 12 2000 14:00:30
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2333 autoboot: "go 40000" [hit ESC to abort]</screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2334
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2335 and then RedBoot starts, switching to 38400 Baud.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2336
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2337 <para>Once you have installed a bootable RedBoot in the system in this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2338 manner, we advise re-installing using the generic method described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2339 <xref linkend="updating-redboot"> in order that the Flash Image System
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2340 contains an appropriate description of the flash entries.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2341 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2342 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2343 <title>Cohabiting with POST in Flash</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2344 <para>The configuration file named <filename>redboot_POST.ecm</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2345 configures RedBoot to build for execution at address 0x50040000 (or, during
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2346 bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2347 firmware to live in the lower addresses of the flash and to run before RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2348 gets control. The assumption is that RedBoot will be entered at its base address
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2349 in physical memory, that is 0x00040000.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2350
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2351 <para>Alternatively, for testing, you can call it in an already running system
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2352 by using <userinput>go 0x50040040</userinput> at another RedBoot prompt, or
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2353 a branch to that address. The address is where the reset vector
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2354 points. It is reported by RedBoot's <command>load</command> command
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2355 and listed
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2356 by the <command>fis list</command> command, amongst other
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2357 places.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2358
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2359 <para>Using the POST configuration enables a normal config option which causes
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2360 linking and initialization against memory layout files called "...post..."
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2361 rather than "...rom..." or "...ram..." in the <filename class="directory">include/pkgconf
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2362 </filename> directory. Specifically:<literallayout><filename>include/pkgconf/mlt_arm_sa11x0_nano_post.h</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2363 <filename>include/pkgconf/mlt_arm_sa11x0_nano_post.ldi</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2364 <filename>include/pkgconf/mlt_arm_sa11x0_nano_post.mlt</filename></literallayout>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2365
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2366 It is these you should edit if you wish to move the execution address
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2367 from 0x50040000 in the POST configuration. Startup mode naturally
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2368 remains ROM in this configuration.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2369
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2370 <para>Because the nanoEngine contains immutable boot firmware at the start
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2371 of flash, RedBoot for this target is configured to reserve that area in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2372 Flash Image System, and to create by default an entry for the POST
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2373 mode RedBoot.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2374 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2375 RedBoot> <userinput>fis list</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2376 Name FLASH addr Mem addr Length Entry point
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2377 (reserved) 0x50000000 0x50000000 0x00040000 0x00000000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2378 RedBoot[post] 0x50040000 0x00100000 0x00020000 0x50040040
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2379 RedBoot config 0x503E0000 0x503E0000 0x00010000 0x00000000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2380 FIS directory 0x503F0000 0x503F0000 0x00010000 0x00000000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2381 RedBoot>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2382 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2383 The entry "(reserved)" ensures that the FIS cannot attempt
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2384 to overwrite the BSE firmware, thus ensuring that the board remains bootable
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2385 and recoverable even after installing a broken RedBoot image.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2386 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2387 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2388 <title>Special RedBoot Commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2389 <para>The nanoEngine/commEngine has one or two Intel i82559 Ethernet controllers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2390 installed, but these have no associated serial EEPROM in which to record their
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2391 Ethernet Station Address (ESA, or MAC address). The BSE firmware records an
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2392 ESA for the device it uses, but this information is not available to RedBoot;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2393 we cannot share it.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2394 <para>To keep the ESAs for the two ethernet interfaces, two new items of RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2395 configuration data are introduced. You can list them with the RedBoot command <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2396 fconfig -l</command> thus:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2397 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2398 RedBoot> <userinput>fconfig -l</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2399 Run script at boot: false
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2400 Use BOOTP for network configuration: false
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2401 Local IP address: 10.16.19.91
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2402 Default server IP address: 10.16.19.66
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2403 Network hardware address [MAC] for eth0: 0x00:0xB5:0xE0:0xB5:0xE0:0x99
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2404 Network hardware address [MAC] for eth1: 0x00:0xB5:0xE0:0xB5:0xE0:0x9A
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2405 GDB connection port: 9000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2406 Network debug at boot time: false
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2407 RedBoot></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2408
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2409 You should set them before running RedBoot or eCos applications with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2410 the board connected to a network. The <command>fconfig </command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2411 command can be used as for any configuration data item; the entire ESA
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2412 is entered in one line.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2413 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2414 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2415 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2416 <para>The first level page table is located at physical address 0xc0004000.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2417 No second level tables are used. <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2418 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2419 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2420 </note><programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2421 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2422 0x00000000 - 0x003fffff 4Mb FLASH (nCS0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2423 0x18000000 - 0x18ffffff Internal PCI bus - 2 x i82559 ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2424 0x40000000 - 0x4fffffff External IO or PCI bus
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2425 0x80000000 - 0xbfffffff SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2426 0xc0000000 - 0xc7ffffff DRAM Bank 0 - 32Mb SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2427 0xc8000000 - 0xcfffffff DRAM Bank 1 - empty
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2428 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2429
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2430 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2431 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2432 0x00000000 - 0x001fffff Y Y DRAM - 8Mb to 32Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2433 0x18000000 - 0x180fffff N N Internal PCI bus - 2 x i82559 ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2434 0x40000000 - 0x4fffffff N N External IO or PCI bus
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2435 0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2436 0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2437 0xc0000000 - 0xc0ffffff N Y DRAM Bank 0: 8 or 16Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2438 0xc8000000 - 0xc8ffffff N Y DRAM Bank 1: 8 or 16Mb or absent
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2439 0xe0000000 - 0xe7ffffff Y Y Cache Clean</programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2440 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2441
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2442 <para>The ethernet devices use a "PCI window" to communicate with the CPU.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2443 This is 1Mb of SDRAM which is shared with the ethernet devices that are on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2444 the PCI bus. It is neither cached nor buffered, to ensure that CPU and PCI
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2445 accesses see correct data in the correct order. By default it is configured
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2446 to be megabyte number 30, at addresses 0x01e00000-0x01efffff. This can be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2447 modified, and indeed must be, if less than 32Mb of SDRAM is installed, via
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2448 the memory layout tool, or by moving the section <computeroutput>__pci_window
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2449 </computeroutput> referred to by symbols <computeroutput>CYGMEM_SECTION_pci_window*
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2450 </computeroutput> in the linker script. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2451 <para>Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2452 bank 0, the code can cope with any of these combinations also; "2 x " in this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2453 context means one device in each DRAM Bank. <literallayout>1 x 8Mb = 8Mb 2 x 8Mb = 16Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2454 1 x 16Mb = 16Mb 2 x 16Mb = 32Mb</literallayout>All are programmed the same
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2455 in the memory controller. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2456 <para>Startup code detects which is fitted and programs the memory map accordingly.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2457 If the device(s) is 8Mb, then there are gaps in the physical memory map, because
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2458 a high order address bit is not connected. The gaps are the higher 2Mb out
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2459 of every 4Mb.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2460
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2461 <para> The SA11x0 OS timer is used as a polled timer to provide timeout
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2462 support within RedBoot.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2463 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2464 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2465 <title>Nano Platform Port</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2466 <para>The nano is in the set of SA11X0-based platforms. It uses the arm architectural
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2467 HAL, the sa11x0 variant HAL, plus the nano platform hal. These are components
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2468 <literallayout>CYGPKG_HAL_ARM hal/arm/arch/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2469 CYGPKG_HAL_ARM_SA11X0 hal/arm/sa11x0/var
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2470 CYGPKG_HAL_ARM_SA11X0_NANO hal/arm/sa11x0/nano</literallayout> respectively.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2471 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2472 <para>The target name is "nano" which includes all these, plus the ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2473 driver packages, flash driver, and so on.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2474 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2475 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2476 <title>Ethernet Driver</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2477 <para>The ethernet driver is in two parts: </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2478 <para>A generic ether driver for Intel i8255x series devices, specifically
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2479 the i82559, is <computeroutput>devs/eth/intel/i82559</computeroutput>. Its
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2480 package name is <computeroutput>CYGPKG_DEVS_ETH_INTEL_I82559</computeroutput>.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2481 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2482 <para>The platform-specific ether driver is <computeroutput>devs/eth/arm/nano
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2483 </computeroutput>. Its package is <computeroutput>CYGPKG_DEVS_ETH_ARM_NANO
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2484 </computeroutput>. This tells the generic driver the address in IO memory
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2485 of the chip, for example, and other configuration details. This driver picks
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2486 up the ESA from RedBoot's configuration data - unless configured to use a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2487 static ESA in the usual manner. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2488 </sect2><sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2489 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2490
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2491 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2492 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2493 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2494 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2495 export TARGET=nano
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2496 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2497 export PLATFORM_DIR=sa11x0/nano
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2498 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2499 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2500
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2501 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2502 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2503 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2504 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2505
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2506 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2507 <sect1 id="ipaq">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2508 <title>ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2509 <indexterm><primary>Compaq iPAQ PocketPC</primary><secondary>installing and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2510 testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2511 </primary><secondary>Compaq iPAQ PocketPC</secondary></indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2512 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2513 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2514 <para>RedBoot supports the serial port via cradle or cable, and Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2515 ethernet cards if fitted for communication and downloads. The LCD touchscreen
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2516 may also be used for the console, although by default RedBoot will switch
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2517 exclusively to one channel once input arrives. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2518 <para>The default serial port settings are 38400,8,N,1. RedBoot runs from
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2519 and supports flash management for the system flash region. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2520
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2521 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2522
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2523 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2524 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2525 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2526 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2527 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2528 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2529 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2530 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2531 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2532 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2533 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2534 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2535 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2536 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2537 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2538 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2539 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2540 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2541 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2542 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2543 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2544 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2545 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2546 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2547 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2548 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2549 <entry>WinCE</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2550 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2551 <entry>RedBoot running from RAM, started from
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2552 <application>OSloader</application>.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2553 <entry>redboot_WinCE.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2554 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2555 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2556 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2557 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2558 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2559
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2560
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2561
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2562 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2563 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2564 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2565 <para>RedBoot ROM and WinCE mode images are needed by the installation process.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2566 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2567 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2568 <title>Installing RedBoot on the iPAQ using Windows/CE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2569 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2570 The Windows/CE environment originally shipped with the iPAQ contains a hidden
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2571 mini-loader, sometimes referred to as the "Parrot" loader. This loader can
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2572 be started by holding down the action button (the joypad) while resetting
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2573 the unit or when powering on. At this point, a blue bird will appear on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2574 the LCD screen. Also at this point, a simple loader can be accessed over the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2575 serial port at 115200/8N1. Using this loader, the contents of the iPAQ flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2576 memory can be saved to a Compact Flash memory card.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2577 <note><title>NOTE</title><para>We have only tested this operation with a 32Mbyte CF memory card.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2578 Given that the backup will take 16MBytes + 1KByte, something more than a 16MByte
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2579 card will be required.</para></note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2580 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2581 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2582 Use the "r2c" command to dump Flash contents to the CF memory card. Once this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2583 completes, RedBoot can be installed with no fear since the Parrot loader can
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2584 be used to restore the Flash contents at a later time.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2585 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2586 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2587 If you expect to completely recover the state of the iPAQ Win/CE environment, then
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2588 HotSync should be run to backup all "RAM" files as well before installing RedBoot.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2589 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2590 <para>The next step in installing RedBoot on the iPAQ actually involves Windows/CE,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2591 which is the native environment on the unit. Using WinCE, you need to
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2592 install an application which will run a RAM based version of RedBoot. Once
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2593 this is installed and running, RedBoot can be used to update the flash with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2594 a native/ROM version of RedBoot. <itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2595 <listitem><para>Using ActiveSync, copy the file OSloader to your iPAQ. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2596 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2597 <listitem><para>Using ActiveSync, copy the file redboot_WinCE.bin to the iPAQ
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2598 as bootldr in its root directory. Note: this is not the top level folder
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2599 displayed by Windows (Mobile Device), but rather the 'My Pocket PC' folder
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2600 within it.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2601 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2602 <listitem><para>Execute OSloader. If you didn't create a shortcut, then you
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2603 will have to poke around for it using the WinCE file explorer.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2604 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2605 <listitem><para>Choose the <guimenuitem>Tools->BootLdr->Run after loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2606 from file</guimenuitem> menu item. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2607 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2608 </itemizedlist>At this point, the RAM based version of RedBoot should be running.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2609 You should be able to return to this point by just executing the last two
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2610 steps of the previous process if necessary.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2611 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2612 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2613 <title>Installing RedBoot on the iPAQ - using the Compaq boot loader</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2614 <para>This method of installation is no longer supported.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2615 If you have previously installed either the Compaq boot loader or older
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2616 versions of RedBoot, restore the Win/CE environment and proceed as outlined
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2617 above.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2618 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2619 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2620 <sect3 id="setting-up-and-testing-redboot">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2621 <title>Setting up and testing RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2622 <para>When RedBoot first comes up, it will want to initialize its LCD touch
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2623 screen parameters. It does this by displaying a keyboard graphic and asks
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2624 you to press certain keys. Using the stylus, press and hold until the prompt
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2625 is withdrawn. When you lift the stylus, RedBoot will continue with the next
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2626 calibration. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2627 <para>Once the LCD touchscreen has been calibrated, RedBoot will start. The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2628 calibration step can be skipped by pressing the <guibutton>return/abort</guibutton>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2629 button on the unit (right most button with a curved arrow icon). Additionally,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2630 the unit will assume default values if the screen is not touched within about
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2631 15 seconds. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2632 <para>Once RedBoot has started, you should get information similar to this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2633 on the LCD screen. It will also appear on the serial port at 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2634
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2635 <screen>RedBoot(tm) bootstrap and debug environment [ROM]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2636 Non-certified release, version UNKNOWN - built 06:17:41, Mar 19 2001
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2637 Platform: Compaq iPAQ Pocket PC (StrongARM 1110)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2638
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2639 Copyright (C) 2000, 2001, Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2640
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2641 RAM: 0x00000000-0x01fc0000, 0x0001f200-0x01f70000 available
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2642 FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2643 each.</screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2644
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2645 Since the LCD touchscreen is only 30 characters wide, some of this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2646 data will be off the right hand side of the display. The joypad may be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2647 used to pan left and right in order to see the full lines. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2648 <para>If you have a Compact Flash ethernet card, RedBoot should find
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2649 it. You'll need to have BOOTP enabled for this unit (see your
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2650 sysadmin for details). If it does, it will print a message like:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2651
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2652 <screen>... Waiting for network card: .Ready!
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2653 Socket Communications Inc: CF+ LPE Revision E 08/04/99
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2654 IP: 192.168.1.34, Default server: 192.168.1.101</screen></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2655 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2656
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2657 <sect3 id="ipaq-install-rb-permanently">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2658 <title>Installing RedBoot permanently</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2659 <para>Once you are satisfied with the setup and that RedBoot is operating
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2660 properly in your environment, you can set up your iPAQ unit to have RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2661 be the bootstrap application.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2662
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2663 <caution><title>CAUTION</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2664 <para>This step will destroy your Windows/CE environment.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2665 <para>Before you take this step, it is strongly recommended you save your WinCE FLASH contents
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2666 as outlined above using the "parrot" loader, or
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2667 by using the Compaq OSloader:<itemizedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2668
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2669 <listitem><para>Using OSloader on the iPAQ, select the <guimenuitem>Tools->Flash->Save
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2670 to files...</guimenuitem>. menu item.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2671 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2672
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2673 <listitem><para>Four (4) files, 4MB each in size will be created.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2674 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2675
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2676 <listitem><para>After each file is created, copy the file to your computer,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2677 then delete the file from the iPAQ to make room in the WinCE ramdisk for the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2678 next file.</para></listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2679 </itemizedlist></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2680
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2681 </caution>You will need to download the version of RedBoot designed as the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2682 ROM bootstrap. Then install it permanently using these commands:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2683 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2684 RedBoot> <userinput>lo -r -b 0x100000 redboot_ROM.bin</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2685 RedBoot> <userinput>fi loc -f 0x50000000 -l 0x40000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2686 RedBoot> <userinput>fis init</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2687 RedBoot> <userinput>fi unl -f 0x50040000 -l 0x40000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2688 RedBoot> <userinput>fi cr RedBoot -b 0x100000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2689 RedBoot> <userinput>fi loc -f 0x50040000 -l 0x40000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2690 RedBoot> <userinput>reset</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2691 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2692
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2693 <warning><title>WARNING</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2694 <para>You must type these commands exactly! Failure to do so may render your
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2695 iPAQ totally useless. Once you've done this, RedBoot should come up every
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2696 time you reset.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2697 </warning></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2698 </sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2699
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2700 <sect3>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2701 <title>Restoring Windows/CE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2702 <para>To restore Windows/CE from the backup taken in <xref linkend="ipaq-install-rb-permanently">,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2703 visit <ulink url="http://www.handhelds.org/projects/wincerestoration.html">http://www.handhelds.org/projects/wincerestoration.html</ulink>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2704 for directions.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2705 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2706 </sect3></sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2707
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2708 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2709 <title>Additional commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2710 <para>The <command>exec</command> command which allows the loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2711 and execution of Linux kernels,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2712 is supported for this board (see <xref linkend="executing-programs">). The <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2713 exec</command> parameters used for the iPAQ are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2714 <variablelist><varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2715 <term>-b <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2716 <listitem><para>Location Linux kernel was loaded to</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2717 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2718 -l <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2719 <listitem><para>Length of kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2720 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2721 -c <replaceable>"params"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2722 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2723 <varlistentry><term>-r <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2724 <listitem><para>'initrd' ramdisk location</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2725 <varlistentry><term>-s <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2726 <listitem><para>Length of initrd ramdisk</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2727 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2728 <para>Linux kernels may be run on the iPAQ using the sources from the anonymous
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2729 CVS repository at the Handhelds project (<ulink url="http://www.handhelds.org/">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2730 http://www.handhelds.org/</ulink>) with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2731 the <filename>elinux.patch</filename> patch file applied. This file can be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2732 found in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2733 <filename>misc/</filename> subdirectory of the iPAQ platform HAL in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2734 RedBoot sources, normally
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2735 <filename>hal/arm/sa11x0/ipaq/<replaceable>VERSION</replaceable>/misc/</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2736 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2737 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2738 On the iPAQ (and indeed all SA11x0 platforms), Linux expects to be loaded
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2739 at address 0xC0008000 and the entry point is also at 0xC0008000.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2740 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2741
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2742 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2743 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2744 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2745 <para>RedBoot sets up the following memory map on the iPAQ: The first level
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2746 page table is located at physical address 0xC0004000. No second level tables
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2747 are used. <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2748 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2749 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2750 </note> <programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2751 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2752 0x00000000 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2753 0x000000 - 0x0003ffff Parrot Loader
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2754 0x040000 - 0x0007ffff RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2755 0xf80000 - 0x00fbffff Fconfig data
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2756 0xfc0000 - 0x00ffffff FIS directory
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2757 0x30000000 - 0x3fffffff Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2758 0x48000000 - 0x4bffffff iPAQ internal registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2759 0x80000000 - 0xbfffffff SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2760 0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2761 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2762
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2763
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2764 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2765 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2766 0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2767 0x30000000 - 0x3fffffff N N Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2768 0x48000000 - 0x4bffffff N N iPAQ internal registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2769 0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2770 0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2771 0xc0000000 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2772 0xe0000000 - 0xe7ffffff Y Y Cache Clean </programlisting> </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2773 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2774 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2775 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2776
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2777 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2778 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2779 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2780 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2781 export TARGET=ipaq
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2782 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2783 export PLATFORM_DIR=sa11x0/ipaq
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2784 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2785 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2786
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2787 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2788 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2789
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2790 </sect2></sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2791
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2792 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2793 <sect1 id="cerfcube">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2794 <title>ARM/StrongARM(SA11X0) Intrinsyc CerfCube</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2795 <indexterm><primary>Intrinsyc CerfCube</primary><secondary>installing and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2796 testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2797 </primary><secondary>Intrinsyc CerfCube</secondary></indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2798 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2799 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2800 <para>RedBoot supports the serial port and the builtin
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2801 ethernet connection for communication and downloads.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2802 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2803 <para>The default serial port settings are 38400,8,N,1. RedBoot runs from
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2804 and supports flash management for the system flash region. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2805
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2806 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2807
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2808 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2809 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2810 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2811 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2812 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2813 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2814 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2815 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2816 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2817 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2818 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2819 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2820 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2821 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2822 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2823 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2824 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2825 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2826 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2827 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2828 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2829 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2830 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2831 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2832 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2833 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2834 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2835 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2836 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2837
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2838
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2839 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2840 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2841 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2842 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2843 The original boot loader supplied with the CerfCube can be used to install
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2844 RedBoot. Connect to the device using a serial port at 38400/8N1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2845 Copy the binary RedBoot ROM mode image to an available TFTP server.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2846 Issue these commands to the Instrinsyc loader:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2847 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2848 <userinput>download tftp:<replaceable>x.x.x.x</replaceable> redboot_ROM.bin 0xc0000000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2849 <userinput>flashloader 0x00000000 0xc0000000 0x20000</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2850 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2851 where <replaceable>x.x.x.x</replaceable> is the IP address of the TFTP
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2852 server.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2853 <note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2854 <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2855 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2856 Other installation methods may be available via the Intrinsyc loader.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2857 Contact Intrinsyc for details.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2858 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2859 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2860 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2861 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2862 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2863 <title>Additional commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2864 <para>The <command>exec</command> command which allows the loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2865 and execution of Linux kernels,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2866 is supported for this board (see <xref linkend="executing-programs">). The <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2867 exec</command> parameters used for the CerfCube are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2868 <variablelist><varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2869 <term>-b <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2870 <listitem><para>Location Linux kernel was loaded to</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2871 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2872 -l <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2873 <listitem><para>Length of kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2874 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2875 -c <replaceable>"params"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2876 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2877 <varlistentry><term>-r <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2878 <listitem><para>'initrd' ramdisk location</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2879 <varlistentry><term>-s <replaceable>&lt;len></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2880 <listitem><para>Length of initrd ramdisk</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2881 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2882
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2883 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2884 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2885 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2886 <para>RedBoot sets up the following memory map on the CerfCube: The first level
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2887 page table is located at physical address 0xC0004000. No second level tables
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2888 are used. <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2889 <para>The virtual memory maps in this section use a C and B column to indicate
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2890 whether or not the region is cached (C) or buffered (B).</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2891 </note> <programlisting>Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2892 ----------------------- ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2893 0x00000000 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2894 0x000000 - 0x0001ffff RedBoot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2895 0x020000 - 0x0003ffff RedBoot [RAM version]
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2896 0xfc0000 - 0x00fdffff Fconfig data
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2897 0xfe0000 - 0x00ffffff FIS directory
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2898 0x0f000000 - 0x0fffffff Onboard ethernet
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2899 0x10000000 - 0x17ffffff CerfCube internal registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2900 0x20000000 - 0x3fffffff PCMCIA / Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2901 0x80000000 - 0xbfffffff SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2902 0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2903 0xe0000000 - 0xe7ffffff Cache Clean
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2904
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2905
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2906 Virtual Address Range C B Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2907 ----------------------- - - ----------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2908 0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2909 0x08000000 - 0x0fffffff N N Onboard ethernet controller
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2910 0x10000000 - 0x17ffffff N N CerfCube internal registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2911 0x20000000 - 0x3fffffff N N PCMCIA / Compact Flash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2912 0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2913 0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2914 0xc0000000 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2915 0xe0000000 - 0xe7ffffff Y Y Cache Clean </programlisting> </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2916 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2917
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2918 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2919 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2920
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2921 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2922 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2923 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2924 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2925 export TARGET=cerf
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2926 export ARCH_DIR=arm
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2927 export PLATFORM_DIR=sa11x0/cerf
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2928 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2929 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2930
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2931 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2932 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2933
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2934 </sect2></sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2935
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2936
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2937 <sect1 id="iq80310">
835
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
2938 <title>ARM/XScale Cyclone IQ80310</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2939 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2940 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2941 <para><indexterm><primary>Cyclone IQ80310</primary><secondary>installing and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2942 testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2943 </primary><secondary>Cyclone IQ80310</secondary></indexterm>RedBoot supports
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2944 both serial ports and the built-in ethernet port for communication and downloads.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2945 The default serial port settings are 115200,8,N,1. RedBoot also supports flash
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2946 management for the onboard 8MB flash.</para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2947
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
2948 <para>The following RedBoot configurations are supported:
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2949
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2950 <informaltable frame="all">
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2951 <tgroup cols="4" colsep="1" rowsep="1" align="left">
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2952 <thead>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2953 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2954 <entry>Configuration</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2955 <entry>Mode</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2956 <entry>Description</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2957 <entry>File</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2958 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2959 </thead>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2960 <tbody>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2961 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2962 <entry>ROM</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2963 <entry>[ROM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2964 <entry>RedBoot running from the board's flash boot
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2965 sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2966 <entry>redboot_ROM.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2967 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2968 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2969 <entry>RAM</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2970 <entry>[RAM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2971 <entry>RedBoot running from RAM with RedBoot in the
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2972 flash boot sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2973 <entry>redboot_RAM.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2974 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2975 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2976 <entry>ROMA</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2977 <entry>[ROM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2978 <entry>RedBoot running from flash address 0x40000, with
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2979 ARM bootloader in flash boot sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2980 <entry>redboot_ROMA.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2981 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2982 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2983 <entry>RAMA</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2984 <entry>[RAM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2985 <entry>RedBoot running from RAM with ARM bootloader in
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2986 flash boot sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2987 <entry>redboot_RAMA.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2988 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2989 </tbody>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2990 </tgroup>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2991 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2992 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2993 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2994 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
2995 <title>Initial Installation Method</title>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2996
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2997 <para>The board manufacturer provides a DOS application which is
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2998 capable of programming the flash over the PCI bus, and this is
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
2999 required for initial installations of RedBoot. Please see the board
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3000 manual for information on using this utility. In general, the process
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3001 involves programming one of the two flash based RedBoot images to
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3002 flash. The ROM mode RedBoot (which runs from the flash boot sector)
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3003 should be programmed to flash address 0x00000000. The ROMA RedBoot
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3004 mode (which is started by the ARM bootloader) should be programmed to
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3005 flash address 0x00004000.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3006 </para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3007
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3008 <para> To install RedBoot to run from the flash boot sector, use the manufacturer's
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3009 flash utility to install the ROM mode image at address zero.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3010 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3011 <para>To install RedBoot to run from address 0x40000 with the ARM bootloader
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3012 in the flash boot sector, use the manufacturer's flash utility to install
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3013 the ROMA mode image at address 0x40000. </para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3014
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3015 <para>After booting the initial installation of RedBoot, this warning may
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3016 be printed: <screen>flash configuration checksum error or invalid key
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3017 </screen>This is normal, and indicates that the flash must be configured
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3018 for use by RedBoot. Even if the above message is not printed, it may be a
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3019 good idea to reinitialize the flash anyway. Do this with the <command>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3020 fis</command> command: <screen>RedBoot> <userinput>fis init</userinput>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3021 About to initialize [format] flash image system - continue (y/n)? <userinput>y</userinput>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3022 *** Initialize flash Image System
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3023 Warning: device contents not erased, some blocks may not be usable
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3024 ... Unlock from 0x007e0000-0x00800000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3025 ... Erase from 0x007e0000-0x00800000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3026 ... Program from 0xa1fd0000-0xa1fd0400 at 0x007e0000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3027 ... Lock from 0x007e0000-0x00800000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3028 Followed by the fconfig command:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3029 RedBoot> <userinput>fconfig</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3030 Run script at boot: <userinput>false</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3031 Use BOOTP for network configuration: <userinput>false</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3032 Local IP address: <userinput>192.168.1.153</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3033 Default server IP address: <userinput>192.168.1.10</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3034 GDB connection port: <userinput>1000</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3035 Network debug at boot time: <userinput>false</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3036 Update RedBoot non-volatile configuration - continue (y/n)? <userinput>y</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3037 ... Unlock from 0x007c0000-0x007e0000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3038 ... Erase from 0x007c0000-0x007e0000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3039 ... Program from 0xa0013018-0xa0013418 at 0x007c0000: .
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3040 ... Lock from 0x007c0000-0x007e0000: .</screen></para>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3041
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3042 <note><para>When later updating RedBoot in situ, it is important to
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3043 use a matching ROM and RAM mode pair of images. So use either RAM/ROM
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3044 or RAMA/ROMA images. Do not mix them.</para></note>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3045
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3046 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3047 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3048 <title>Error codes</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3049 <para>RedBoot uses the two digit LED display to indicate errors during board
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3050 initialization. Possible error codes are: <literallayout>88 - Unknown Error
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3051 55 - I2C Error
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3052 FF - SDRAM Error
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3053 01 - No Error</literallayout></para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3054 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3055 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3056 <title>Using RedBoot with ARM Bootloader </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3057 <para>RedBoot can coexist with ARM tools in flash on the IQ80310 board. In
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3058 this configuration, the ARM bootloader will occupy the flash boot sector while
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3059 RedBoot is located at flash address 0x40000. The sixteen position rotary switch
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3060 is used to tell the ARM bootloader to jump to the RedBoot image located at
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3061 address 0x40000. RedBoot is selected by switch position 0 or 1. Other switch
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3062 positions are used by the ARM firmware and RedBoot will not be started. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3063 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3064 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3065 <title>Special RedBoot Commands </title>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3066 <para>A special RedBoot command, <command>diag</command>, is used to
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3067 access a set of hardware diagnostics provided by the board
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3068 manufacturer. To access the diagnostic menu, enter diag at the RedBoot prompt:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3069 <screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3070 RedBoot> <userinput>diag</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3071 Entering Hardware Diagnostics - Disabling Data Cache!
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3072 1 - Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3073 2 - Repeating Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3074 3 - 16C552 DUART Serial Port Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3075 4 - Rotary Switch S1 Test for positions 0-3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3076 5 - seven Segment LED Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3077 6 - Backplane Detection Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3078 7 - Battery Status Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3079 8 - External Timer Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3080 9 - i82559 Ethernet Configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3081 10 - i82559 Ethernet Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3082 11 - Secondary PCI Bus Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3083 12 - Primary PCI Bus Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3084 13 - i960Rx/303 PCI Interrupt Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3085 14 - Internal Timer Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3086 15 - GPIO Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3087 0 - quit Enter the menu item number (0 to quit):
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3088 </screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3089 Tests for various hardware subsystems are provided, and some
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3090 tests require special hardware in order to execute normally. The Ethernet
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3091 Configuration item may be used to set the board ethernet address.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3092 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3093 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3094 <title>IQ80310 Hardware Tests</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3095 <para><screen>1 - Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3096 2 - Repeating Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3097 3 - 16C552 DUART Serial Port Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3098 4 - Rotary Switch S1 Test for positions 0-3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3099 5 - 7 Segment LED Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3100 6 - Backplane Detection Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3101 7 - Battery Status Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3102 8 - External Timer Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3103 9 - i82559 Ethernet Configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3104 10 - i82559 Ethernet Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3105 11 - i960Rx/303 PCI Interrupt Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3106 12 - Internal Timer Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3107 13 - Secondary PCI Bus Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3108 14 - Primary PCI Bus Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3109 15 - Battery Backup SDRAM Memory Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3110 16 - GPIO Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3111 17 - Repeat-On-Fail Memory Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3112 18 - Coyonosa Cache Loop (No return)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3113 19 - Show Software and Hardware Revision
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3114 0 - quit
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3115 Enter the menu item number (0 to quit): </screen></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3116 <para>Tests for various hardware subsystems are provided, and some tests require
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3117 special hardware in order to execute normally. The Ethernet Configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3118 item may be used to set the board ethernet address.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3119 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3120 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3121 <title>Rebuilding RedBoot </title>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3122
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3123 <para>These shell variables provide the platform-specific information
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3124 needed for building RedBoot according to the procedure described in
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3125 <xref linkend="Rebuilding-Redboot">:
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3126 <programlisting>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3127 export TARGET=iq80310
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3128 export ARCH_DIR=arm
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3129 export PLATFORM_DIR=iq80310
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3130 </programlisting>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3131 </para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3132
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3133 <para>The names of configuration files are listed above with the
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3134 description of the associated modes.</para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3135
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3136 </sect2>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3137
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3138 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3139 <title>Interrupts</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3140 <para>RedBoot uses an interrupt vector table which is located at address 0xA000A004.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3141 Entries in this table are pointers to functions with this protoype:: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3142 int irq_handler( unsigned vector, unsigned data )</programlisting>On an IQ80310
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3143 board, the vector argument is one of 49 interrupts defined in <computeroutput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3144 hal/arm/iq80310/current/include/hal_platform_ints.h:</computeroutput>: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3145 // *** 80200 CPU ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3146 #define CYGNUM_HAL_INTERRUPT_reserved0 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3147 #define CYGNUM_HAL_INTERRUPT_PMU_PMN0_OVFL 1 // See Ch.12 - Performance Mon.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3148 #define CYGNUM_HAL_INTERRUPT_PMU_PMN1_OVFL 2 // PMU counter 0/1 overflow
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3149 #define CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL 3 // PMU clock overflow
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3150 #define CYGNUM_HAL_INTERRUPT_BCU_INTERRUPT 4 // See Ch.11 - Bus Control Unit
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3151 #define CYGNUM_HAL_INTERRUPT_NIRQ 5 // external IRQ
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3152 #define CYGNUM_HAL_INTERRUPT_NFIQ 6 // external FIQ
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3153
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3154
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3155 // *** XINT6 interrupts ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3156 #define CYGNUM_HAL_INTERRUPT_DMA_0 7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3157 #define CYGNUM_HAL_INTERRUPT_DMA_1 8
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3158 #define CYGNUM_HAL_INTERRUPT_DMA_2 9
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3159 #define CYGNUM_HAL_INTERRUPT_GTSC 10 // Global Time Stamp Counter
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3160 #define CYGNUM_HAL_INTERRUPT_PEC 11 // Performance Event Counter
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3161 #define CYGNUM_HAL_INTERRUPT_AAIP 12 // application accelerator unit
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3162
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3163
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3164 // *** XINT7 interrupts ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3165 // I2C interrupts
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3166 #define CYGNUM_HAL_INTERRUPT_I2C_TX_EMPTY 13
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3167 #define CYGNUM_HAL_INTERRUPT_I2C_RX_FULL 14
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3168 #define CYGNUM_HAL_INTERRUPT_I2C_BUS_ERR 15
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3169 #define CYGNUM_HAL_INTERRUPT_I2C_STOP 16
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3170 #define CYGNUM_HAL_INTERRUPT_I2C_LOSS 17
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3171 #define CYGNUM_HAL_INTERRUPT_I2C_ADDRESS 18
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3172
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3173
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3174 // Messaging Unit interrupts
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3175 #define CYGNUM_HAL_INTERRUPT_MESSAGE_0 19
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3176 #define CYGNUM_HAL_INTERRUPT_MESSAGE_1 20
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3177 #define CYGNUM_HAL_INTERRUPT_DOORBELL 21
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3178 #define CYGNUM_HAL_INTERRUPT_NMI_DOORBELL 22
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3179 #define CYGNUM_HAL_INTERRUPT_QUEUE_POST 23
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3180 #define CYGNUM_HAL_INTERRUPT_OUTBOUND_QUEUE_FULL 24
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3181 #define CYGNUM_HAL_INTERRUPT_INDEX_REGISTER 25
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3182 // PCI Address Translation Unit
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3183 #define CYGNUM_HAL_INTERRUPT_BIST 26
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3184
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3185
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3186 // *** External board interrupts (XINT3) ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3187 #define CYGNUM_HAL_INTERRUPT_TIMER 27 // external timer
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3188 #define CYGNUM_HAL_INTERRUPT_ETHERNET 28 // onboard enet
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3189 #define CYGNUM_HAL_INTERRUPT_SERIAL_A 29 // 16x50 uart A
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3190 #define CYGNUM_HAL_INTERRUPT_SERIAL_B 30 // 16x50 uart B
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3191 #define CYGNUM_HAL_INTERRUPT_PCI_S_INTD 31 // secondary PCI INTD
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3192 // The hardware doesn't (yet?) provide masking or status for these
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3193 // even though they can trigger cpu interrupts. ISRs will need to
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3194 // poll the device to see if the device actually triggered the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3195 // interrupt.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3196 #define CYGNUM_HAL_INTERRUPT_PCI_S_INTC 32 // secondary PCI INTC
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3197 #define CYGNUM_HAL_INTERRUPT_PCI_S_INTB 33 // secondary PCI INTB
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3198 #define CYGNUM_HAL_INTERRUPT_PCI_S_INTA 34 // secondary PCI INTA
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3199
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3200
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3201 // *** NMI Interrupts go to FIQ ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3202 #define CYGNUM_HAL_INTERRUPT_MCU_ERR 35
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3203 #define CYGNUM_HAL_INTERRUPT_PATU_ERR 36
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3204 #define CYGNUM_HAL_INTERRUPT_SATU_ERR 37
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3205 #define CYGNUM_HAL_INTERRUPT_PBDG_ERR 38
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3206 #define CYGNUM_HAL_INTERRUPT_SBDG_ERR 39
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3207 #define CYGNUM_HAL_INTERRUPT_DMA0_ERR 40
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3208 #define CYGNUM_HAL_INTERRUPT_DMA1_ERR 41
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3209 #define CYGNUM_HAL_INTERRUPT_DMA2_ERR 42
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3210 #define CYGNUM_HAL_INTERRUPT_MU_ERR 43
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3211 #define CYGNUM_HAL_INTERRUPT_reserved52 44
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3212 #define CYGNUM_HAL_INTERRUPT_AAU_ERR 45
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3213 #define CYGNUM_HAL_INTERRUPT_BIU_ERR 46
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3214
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3215
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3216 // *** ATU FIQ sources ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3217 #define CYGNUM_HAL_INTERRUPT_P_SERR 47
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3218 #define CYGNUM_HAL_INTERRUPT_S_SERR 48</programlisting>The data passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3219 to the ISR is pulled from a data table <computeroutput>(hal_interrupt_data)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3220 </computeroutput> which immediately follows the interrupt vector table. With
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3221 49 interrupts, the data table starts at address 0xA000A0C8. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3222 <para>An application may create a normal C function with the above prototype
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3223 to be an ISR. Just poke its address into the table at the correct index and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3224 enable the interrupt at its source. The return value of the ISR is ignored
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3225 by RedBoot.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3226 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3227 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3228 <title>Memory Maps</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3229 <para>The first level page table is located at 0xa0004000. Two second level
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3230 tables are also used. One second level table is located at 0xa0008000 and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3231 maps the first 1MB of flash. The other second level table is at 0xa0008400,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3232 and maps the first 1MB of SDRAM. <note><title>NOTE</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3233 <para>The virtual memory maps in this section use a C and B column to indicate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3234 whether or not the region is cached (C) or buffered (B).</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3235 </note></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3236 <para><programlisting>Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3237 ----------------------- ----------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3238 0x00000000 - 0x00000fff flash Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3239 0x00001000 - 0x00001fff 80312 Internal Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3240 0x00002000 - 0x007fffff flash Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3241 0x00800000 - 0x7fffffff PCI ATU Outbound Direct Window
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3242 0x80000000 - 0x83ffffff Primary PCI 32-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3243 0x84000000 - 0x87ffffff Primary PCI 64-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3244 0x88000000 - 0x8bffffff Secondary PCI 32-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3245 0x8c000000 - 0x8fffffff Secondary PCI 64-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3246 0x90000000 - 0x9000ffff Primary PCI IO Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3247 0x90010000 - 0x9001ffff Secondary PCI IO Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3248 0x90020000 - 0x9fffffff Unused
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3249 0xa0000000 - 0xbfffffff SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3250 0xc0000000 - 0xefffffff Unused
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3251 0xf0000000 - 0xffffffff 80200 Internal Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3252
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3253
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3254 Virtual Address Range C B Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3255 ----------------------- - - ----------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3256 0x00000000 - 0x00000fff Y Y SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3257 0x00001000 - 0x00001fff N N 80312 Internal Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3258 0x00002000 - 0x007fffff Y N flash Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3259 0x00800000 - 0x7fffffff N N PCI ATU Outbound Direct Window
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3260 0x80000000 - 0x83ffffff N N Primary PCI 32-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3261 0x84000000 - 0x87ffffff N N Primary PCI 64-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3262 0x88000000 - 0x8bffffff N N Secondary PCI 32-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3263 0x8c000000 - 0x8fffffff N N Secondary PCI 64-bit Memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3264 0x90000000 - 0x9000ffff N N Primary PCI IO Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3265 0x90010000 - 0x9001ffff N N Secondary PCI IO Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3266 0xa0000000 - 0xbfffffff Y Y SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3267 0xc0000000 - 0xcfffffff Y Y Cache Flush Region
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3268 0xd0000000 - 0xd0000fff Y N first 4k page of flash
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3269 0xf0000000 - 0xffffffff N N 80200 Internal Registers </programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3270 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3271 <sect2>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3272 <title>Platform Resource Usage</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3273 <para>The external timer is used as a polled timer to provide timeout support
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3274 for networking and XModem file transfers.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3275 </sect2></sect1>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3276
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3277 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3278 <sect1 id="iq80321">
835
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3279 <title>ARM/XScale Intel IQ80321</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3280 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3281 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3282 <para><indexterm><primary>Intel IQ80321</primary><secondary>installing and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3283 testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3284 </primary><secondary>Intel IQ80321</secondary></indexterm>RedBoot supports
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3285 the serial port and the built-in ethernet port for communication and downloads.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3286 The default serial port settings are 115200,8,N,1. RedBoot also supports flash
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3287 management for the onboard 8MB flash.</para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3288
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3289 <para>The following RedBoot configurations are supported:
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3290
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3291 <informaltable frame="all">
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3292 <tgroup cols="4" colsep="1" rowsep="1" align="left">
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3293 <thead>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3294 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3295 <entry>Configuration</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3296 <entry>Mode</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3297 <entry>Description</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3298 <entry>File</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3299 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3300 </thead>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3301 <tbody>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3302 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3303 <entry>ROM</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3304 <entry>[ROM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3305 <entry>RedBoot running from the board's flash boot
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3306 sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3307 <entry>redboot_ROM.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3308 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3309 <row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3310 <entry>RAM</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3311 <entry>[RAM]</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3312 <entry>RedBoot running from RAM with RedBoot in the
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3313 flash boot sector.</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3314 <entry>redboot_RAM.ecm</entry>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3315 </row>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3316 </tbody>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3317 </tgroup>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3318 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3319 </para>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3320
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3321
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3322 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3323 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3324 <title>Initial Installation Method</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3325 <para>The board manufacturer provides a DOS application which is capable of
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3326 programming the flash over the PCI bus, and this is required for initial installations
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3327 of RedBoot. Please see the board manual for information on using this utility.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3328 In general, the process involves programming the ROM mode RedBoot
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3329 image to flash. RedBoot should be programmed to flash address
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3330 0x00000000 using the DOS utility.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3331 </para>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3332
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3333 <para>After booting the initial installation of RedBoot, this warning may
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3334 be printed: <screen>flash configuration checksum error or invalid key
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3335 </screen>This is normal, and indicates that the flash must be configured
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3336 for use by RedBoot. Even if the above message is not printed, it may be a
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3337 good idea to reinitialize the flash anyway. Do this with the <command>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3338 fis</command> command: <screen>RedBoot> <userinput>fis init</userinput>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3339 About to initialize [format] FLASH image system - continue (y/n)? <userinput>y</userinput>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3340 *** Initialize FLASH Image System
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3341 Warning: device contents not erased, some blocks may not be usable
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3342 ... Unlock from 0xf07e0000-0xf0800000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3343 ... Erase from 0xf07e0000-0xf0800000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3344 ... Program from 0x01ddf000-0x01ddf400 at 0xf07e0000: .
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3345 ... Lock from 0xf07e0000-0xf0800000: .
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3346 </screen></para></sect2>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3347 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3348 <title>Switch Settings</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3349 <para>The 80321 board is highly configurable through a number of switches and jumpers.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3350 RedBoot makes some assumptions about board configuration and attention must be paid
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3351 to these assumptions for reliable RedBoot operation:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3352 <itemizedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3353 <listitem><para>The onboard ethernet and the secondary slot may be placed in a
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3354 private space so that they are not seen by a PC BIOS. If the board is to be used
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3355 in a PC with BIOS, then the ethernet should be placed in this private space so that
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3356 RedBoot and the BIOS do not conflict.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3357 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3358 <listitem><para>RedBoot assumes that the board is plugged into a PC with BIOS. This
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3359 requires RedBoot to detect when the BIOS has configured the PCI-X secondary bus. If
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3360 the board is placed in a backplane, RedBoot will never see the BIOS configure the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3361 secondary bus. To prevent this wait, set switch S7E1-3 to ON when using the board
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3362 in a backplane.</para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3363 <listitem><para>For the remaining switch settings, the following is a known good
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3364 configuration:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3365 <informaltable frame=all>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3366 <tgroup cols=2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3367 <tbody>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3368 <row><entry>S1D1</entry><entry>All OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3369 <row><entry>S7E1</entry><entry>7 is ON, all others OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3370 <row><entry>S8E1</entry><entry>2,3,5,6 are ON, all others OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3371 <row><entry>S8E2</entry><entry>2,3 are ON, all others OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3372 <row><entry>S9E1</entry><entry>3 is ON, all others OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3373 <row><entry>S4D1</entry><entry>1,3 are ON, all others OFF</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3374 <row><entry>J9E1</entry><entry>2,3 jumpered</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3375 <row><entry>J9F1</entry><entry>2,3 jumpered</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3376 <row><entry>J3F1</entry><entry>Nothing jumpered</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3377 <row><entry>J3G1</entry><entry>2,3 jumpered</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3378 <row><entry>J1G2</entry><entry>2,3 jumpered</entry></row>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3379 </tbody></tgroup></informaltable></para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3380 </itemizedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3381 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3382 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3383 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3384 <title>LED Codes</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3385 <para>RedBoot uses the two digit LED display to indicate status during board
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3386 initialization. Possible codes are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3387
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3388 <literallayout width=72>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3389 LED Actions
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3390 -------------------------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3391 Power-On/Reset
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3392 88
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3393 Set the CPSR
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3394 Enable coprocessor access
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3395 Drain write and fill buffer
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3396 Setup PBIU chip selects
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3397 A1
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3398 Enable the Icache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3399 A2
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3400 Move FLASH chip select from 0x0 to 0xF0000000
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3401 Jump to new FLASH location
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3402 A3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3403 Setup and enable the MMU
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3404 A4
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3405 I2C interface initialization
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3406 90
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3407 Wait for I2C initialization to complete
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3408 91
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3409 Send address (via I2C) to the DIMM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3410 92
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3411 Wait for transmit complete
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3412 93
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3413 Read SDRAM PD data from DIMM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3414 94
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3415 Read remainder of EEPROM data.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3416 An error will result in one of the following
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3417 error codes on the LEDs:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3418 77 BAD EEPROM checksum
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3419 55 I2C protocol error
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3420 FF bank size error
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3421 A5
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3422 Setup DDR memory interface
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3423 A6
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3424 Enable branch target buffer
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3425 Drain the write & fill buffers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3426 Flush Icache, Dcache and BTB
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3427 Flush instuction and data TLBs
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3428 Drain the write & fill buffers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3429 SL
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3430 ECC Scrub Loop
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3431 SE
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3432 A7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3433 Clean, drain, flush the main Dcache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3434 A8
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3435 Clean, drain, flush the mini Dcache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3436 Flush Dcache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3437 Drain the write & fill buffers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3438 A9
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3439 Enable ECC
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3440 AA
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3441 Save SDRAM size
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3442 Move MMU tables into RAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3443 AB
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3444 Clean, drain, flush the main Dcache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3445 Clean, drain, flush the mini Dcache
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3446 Drain the write & fill buffers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3447 AC
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3448 Set the TTB register to DRAM mmu_table
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3449 AD
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3450 Set mode to IRQ mode
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3451 A7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3452 Move SWI & Undefined "vectors" to RAM (at 0x0)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3453 A6
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3454 Switch to supervisor mode
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3455 A5
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3456 Move remaining "vectors" to RAM (at 0x0)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3457 A4
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3458 Copy DATA to RAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3459 Initialize interrupt exception environment
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3460 Initialize stack
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3461 Clear BSS section
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3462 A3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3463 Call platform specific hardware initialization
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3464 A2
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3465 Run through static constructors
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3466 A1
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3467 Start up the eCos kernel or RedBoot
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3468 </literallayout>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3469 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3470 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3471 <title>Special RedBoot Commands </title>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3472 <para>A special RedBoot command, <command>diag</command>, is used to
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3473 access a set of hardware diagnostics. To access the diagnostic menu,
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3474 enter <command>diag</command> at the RedBoot prompt:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3475 <screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3476 RedBoot> <userinput>diag</userinput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3477 Entering Hardware Diagnostics - Disabling Data Cache!
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3478
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3479 IQ80321 Hardware Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3480
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3481 1 - Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3482 2 - Repeating Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3483 3 - Repeat-On-Fail Memory Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3484 4 - Rotary Switch S1 Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3485 5 - 7 Segment LED Tests
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3486 6 - i82544 Ethernet Configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3487 7 - Baterry Status Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3488 8 - Battery Backup SDRAM Memory Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3489 9 - Timer Test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3490 10 - PCI Bus test
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3491 11 - CPU Cache Loop (No Return)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3492 0 - quit
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3493 Enter the menu item number (0 to quit):
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3494 </screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3495 Tests for various hardware subsystems are provided, and some tests require
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3496 special hardware in order to execute normally. The Ethernet Configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3497 item may be used to set the board ethernet address.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3498 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3499 <title>Memory Tests</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3500 <para>This test is used to test installed DDR SDRAM memory. Five different
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3501 tests are run over the given address ranges. If errors are encountered, the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3502 test is aborted and information about the failure is printed. When selected,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3503 the user will be prompted to enter the base address of the test range and its
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3504 size. The numbers must be in hex with no leading &ldquo;0x&rdquo;
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3505 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3506 <screen>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3507 Enter the menu item number (0 to quit): <userinput>1</userinput>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3508
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3509 Base address of memory to test (in hex): <userinput>100000</userinput>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3510
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3511 Size of memory to test (in hex): <userinput>200000</userinput>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3512
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3513 Testing memory from 0x00100000 to 0x002fffff.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3514
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3515 Walking 1's test:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3516 0000000100000002000000040000000800000010000000200000004000000080
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3517 0000010000000200000004000000080000001000000020000000400000008000
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3518 0001000000020000000400000008000000100000002000000040000000800000
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3519 0100000002000000040000000800000010000000200000004000000080000000
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3520 passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3521 32-bit address test: passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3522 32-bit address bar test: passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3523 8-bit address test: passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3524 Byte address bar test: passed
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3525 Memory test done.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3526 </screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3527 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3528 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3529 <title>Repeating Memory Tests</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3530 <para>The repeating memory tests are exactly the same as the above memory tests,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3531 except that the tests are automatically rerun after completion. The only way out
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3532 of this test is to reset the board.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3533 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3534 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3535 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3536 <title>Repeat-On-Fail Memory Tests</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3537 <para>This is similar to the repeating memory tests except that when an error
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3538 is found, the failing test continuously retries on the failing address.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3539 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3540 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3541 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3542 <title>Rotary Switch S1 Test</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3543 <para>This tests the operation of the sixteen position rotary switch. When run,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3544 this test will display the current position of the rotary switch on the LED
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3545 display. Slowly dial through each position and confirm reading on LED.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3546 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3547 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3548 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3549 <title>7 Segment LED Tests</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3550 <para>This tests the operation of the seven segment displays. When run, each
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3551 LED cycles through 0 through F and a decimal point.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3552 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3553 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3554 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3555 <title>i82544 Ethernet Configuration</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3556 <para>This test initializes the ethernet controller&rsquo;s serial EEPROM if
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3557 the current contents are invalid. In any case, this test will also allow the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3558 user to enter a six byte ethernet MAC address into the serial EEPROM.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3559 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3560 <screen>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3561 Enter the menu item number (0 to quit): <userinput>6</userinput>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3562
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3563
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3564 Current MAC address: 00:80:4d:46:00:02
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3565 Enter desired MAC address: <userinput>00:80:4d:46:00:01</userinput>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3566 Writing to the Serial EEPROM... Done
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3567
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3568 ******** Reset The Board To Have Changes Take Effect ********
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3569 </screen>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3570 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3571 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3572 <title>Battery Status Test</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3573 <para>This tests the current status of the battery. First, the test checks to
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3574 see if the battery is installed and reports that finding. If the battery is
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3575 installed, the test further determines whether the battery status is one or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3576 more of the following:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3577 <itemizedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3578 <listitem><para>Battery is charging.</para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3579 <listitem><para>Battery is fully discharged.</para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3580 <listitem><para>Battery voltage measures within normal operating range.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3581 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3582 </itemizedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3583 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3584 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3585 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3586 <title>Battery Backup SDRAM Memory Test</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3587 <para>This tests the battery backup of SDRAM memory. This test is a three
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3588 step process:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3589 <orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3590 <listitem><para>Select Battery backup test from main diag menu, then write
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3591 data to SDRAM.</para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3592 <listitem><para>Turn off power for 60 seconds, then repower the board.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3593 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3594 <listitem><para>Select Battery backup test from main diag menu, then check
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3595 data that was written in step 1.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3596 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3597 </orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3598 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3599 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3600 <title>Timer Test</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3601 <para>This tests the internal timer by printing a number of dots at one
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3602 second intervals.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3603 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3604 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3605 <title>PCI Bus Test</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3606 <para>This tests the secondary PCI-X bus and socket. This test requires that
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3607 an IQ80310 board be plugged into the secondary slot of the IOP80321 board.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3608 The test assumes at least 32MB of installed memory on the IQ80310. That memory
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3609 is mapped into the IOP80321 address space and the memory tests are run on that
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3610 memory.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3611 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3612 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3613 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3614 <title>CPU Cache Loop</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3615 <para>This test puts the CPU into a tight loop run entirely from the ICache.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3616 This should prevent all external bus accesses.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3617 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3618 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3619 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3620 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3621 <title>Rebuilding RedBoot </title>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3622
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3623 <para>These shell variables provide the platform-specific information
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3624 needed for building RedBoot according to the procedure described in
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3625 <xref linkend="Rebuilding-Redboot">:
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3626 <programlisting>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3627 export TARGET=iq80321
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3628 export ARCH_DIR=arm
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3629 export PLATFORM_DIR=xscale/iq80321
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3630 </programlisting>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3631 </para>
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3632
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3633 <para>The names of configuration files are listed above with the
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3634 description of the associated modes.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3635 </sect2>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3636
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3637 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3638 <title>Interrupts</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3639 <para>RedBoot uses an interrupt vector table which is located at address 0x8004.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3640 Entries in this table are pointers to functions with this protoype:: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3641 int irq_handler( unsigned vector, unsigned data )</programlisting>On an IQ80321
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3642 board, the vector argument is one of 32 interrupts defined in <computeroutput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3643 hal/arm/xscale/verde/current/include/hal_var_ints.h:</computeroutput>: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3644 // *** 80200 CPU ***
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3645 #define CYGNUM_HAL_INTERRUPT_DMA0_EOT 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3646 #define CYGNUM_HAL_INTERRUPT_DMA0_EOC 1
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3647 #define CYGNUM_HAL_INTERRUPT_DMA1_EOT 2
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3648 #define CYGNUM_HAL_INTERRUPT_DMA1_EOC 3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3649 #define CYGNUM_HAL_INTERRUPT_RSVD_4 4
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3650 #define CYGNUM_HAL_INTERRUPT_RSVD_5 5
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3651 #define CYGNUM_HAL_INTERRUPT_AA_EOT 6
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3652 #define CYGNUM_HAL_INTERRUPT_AA_EOC 7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3653 #define CYGNUM_HAL_INTERRUPT_CORE_PMON 8
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3654 #define CYGNUM_HAL_INTERRUPT_TIMER0 9
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3655 #define CYGNUM_HAL_INTERRUPT_TIMER1 10
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3656 #define CYGNUM_HAL_INTERRUPT_I2C_0 11
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3657 #define CYGNUM_HAL_INTERRUPT_I2C_1 12
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3658 #define CYGNUM_HAL_INTERRUPT_MESSAGING 13
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3659 #define CYGNUM_HAL_INTERRUPT_ATU_BIST 14
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3660 #define CYGNUM_HAL_INTERRUPT_PERFMON 15
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3661 #define CYGNUM_HAL_INTERRUPT_CORE_PMU 16
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3662 #define CYGNUM_HAL_INTERRUPT_BIU_ERR 17
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3663 #define CYGNUM_HAL_INTERRUPT_ATU_ERR 18
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3664 #define CYGNUM_HAL_INTERRUPT_MCU_ERR 19
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3665 #define CYGNUM_HAL_INTERRUPT_DMA0_ERR 20
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3666 #define CYGNUM_HAL_INTERRUPT_DMA1_ERR 22
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3667 #define CYGNUM_HAL_INTERRUPT_AA_ERR 23
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3668 #define CYGNUM_HAL_INTERRUPT_MSG_ERR 24
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3669 #define CYGNUM_HAL_INTERRUPT_SSP 25
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3670 #define CYGNUM_HAL_INTERRUPT_RSVD_26 26
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3671 #define CYGNUM_HAL_INTERRUPT_XINT0 27
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3672 #define CYGNUM_HAL_INTERRUPT_XINT1 28
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3673 #define CYGNUM_HAL_INTERRUPT_XINT2 29
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3674 #define CYGNUM_HAL_INTERRUPT_XINT3 30
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3675 #define CYGNUM_HAL_INTERRUPT_HPI 31
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3676 </programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3677 The data passed to the ISR is pulled from a data table <computeroutput>(hal_interrupt_data)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3678 </computeroutput> which immediately follows the interrupt vector table. With
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3679 32 interrupts, the data table starts at address 0x8084. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3680 <para>An application may create a normal C function with the above prototype
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3681 to be an ISR. Just poke its address into the table at the correct index and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3682 enable the interrupt at its source. The return value of the ISR is ignored
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3683 by RedBoot.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3684 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3685 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3686 <title>Memory Maps</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3687 <para>The RAM based page table is located at RAM start + 0x4000. RedBoot may be configured
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3688 for one of two memory maps. The difference between them is the location of RAM and the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3689 PCI outbound windows. The alternative memory map may be used when
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3690 building RedBoot or eCos by using the <literal>RAM_ALTMAP</literal>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3691 and <literal>ROM_ALTMAP</literal> startup types in the configuration.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3692 <note><title>NOTE</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3693 <para>The virtual memory maps in this section use a C, B, and X column to indicate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3694 the caching policy for the region..</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3695 </note></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3696 <para><programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3697 X C B Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3698 - - - ---------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3699 0 0 0 Uncached/Unbuffered
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3700 0 0 1 Uncached/Buffered
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3701 0 1 0 Cached/Buffered Write Through, Read Allocate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3702 0 1 1 Cached/Buffered Write Back, Read Allocate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3703 1 0 0 Invalid -- not used
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3704 1 0 1 Uncached/Buffered No write buffer coalescing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3705 1 1 0 Mini DCache - Policy set by Aux Ctl Register
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3706 1 1 1 Cached/Buffered Write Back, Read/Write Allocate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3707
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3708 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3709 ----------------------- ----------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3710 0x00000000 - 0x7fffffff ATU Outbound Direct Window
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3711 0x80000000 - 0x900fffff ATU Outbound Translate Windows
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3712 0xa0000000 - 0xbfffffff SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3713 0xf0000000 - 0xf0800000 FLASH (PBIU CS0)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3714 0xfe800000 - 0xfe800fff UART (PBIU CS1)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3715 0xfe840000 - 0xfe840fff Left 7-segment LED (PBIU CS3)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3716 0xfe850000 - 0xfe850fff Right 7-segment LED (PBIU CS2)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3717 0xfe8d0000 - 0xfe8d0fff Rotary Switch (PBIU CS4)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3718 0xfe8f0000 - 0xfe8f0fff Baterry Status (PBIU CS5)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3719 0xfff00000 - 0xffffffff Verde Memory mapped Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3720
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3721
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3722 Default Virtual Map X C B Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3723 ----------------------- - - - ----------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3724 0x00000000 - 0x1fffffff 1 1 1 SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3725 0x20000000 - 0x9fffffff 0 0 0 ATU Outbound Direct Window
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3726 0xa0000000 - 0xb00fffff 0 0 0 ATU Outbound Translate Windows
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3727 0xc0000000 - 0xdfffffff 0 0 0 Uncached alias for SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3728 0xe0000000 - 0xe00fffff 1 1 1 Cache flush region (no phys mem)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3729 0xf0000000 - 0xf0800000 0 1 0 FLASH (PBIU CS0)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3730 0xfe800000 - 0xfe800fff 0 0 0 UART (PBIU CS1)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3731 0xfe840000 - 0xfe840fff 0 0 0 Left 7-segment LED (PBIU CS3)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3732 0xfe850000 - 0xfe850fff 0 0 0 Right 7-segment LED (PBIU CS2)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3733 0xfe8d0000 - 0xfe8d0fff 0 0 0 Rotary Switch (PBIU CS4)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3734 0xfe8f0000 - 0xfe8f0fff 0 0 0 Baterry Status (PBIU CS5)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3735 0xfff00000 - 0xffffffff 0 0 0 Verde Memory mapped Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3736
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3737 Alternate Virtual Map X C B Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3738 ----------------------- - - - ----------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3739 0x00000000 - 0x000fffff 1 1 1 Alias for 1st MB of SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3740 0x00100000 - 0x7fffffff 0 0 0 ATU Outbound Direct Window
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3741 0x80000000 - 0x900fffff 0 0 0 ATU Outbound Translate Windows
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3742 0xa0000000 - 0xbfffffff 1 1 1 SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3743 0xc0000000 - 0xdfffffff 0 0 0 Uncached alias for SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3744 0xe0000000 - 0xe00fffff 1 1 1 Cache flush region (no phys mem)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3745 0xf0000000 - 0xf0800000 0 1 0 FLASH (PBIU CS0)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3746 0xfe800000 - 0xfe800fff 0 0 0 UART (PBIU CS1)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3747 0xfe840000 - 0xfe840fff 0 0 0 Left 7-segment LED (PBIU CS3)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3748 0xfe850000 - 0xfe850fff 0 0 0 Right 7-segment LED (PBIU CS2)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3749 0xfe8d0000 - 0xfe8d0fff 0 0 0 Rotary Switch (PBIU CS4)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3750 0xfe8f0000 - 0xfe8f0fff 0 0 0 Baterry Status (PBIU CS5)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3751 0xfff00000 - 0xffffffff 0 0 0 Verde Memory mapped Registers
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3752
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3753 </programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3754 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3755 <sect2>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
3756 <title>Platform Resource Usage</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3757 <para>The Verde programmable timer0 is used for timeout support
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3758 for networking and XModem file transfers.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
3759 </sect2></sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
3760
835
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3761 <?Pub _newpage>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3762 <sect1 id="IXDP425">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3763 <title>ARM/Intel XScale IXDP425 Network Processor Evaluation Board</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3764 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3765 <title>Overview</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3766 <para><indexterm><primary>Intel IXDP425</primary><secondary>installing and
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3767 testing</secondary></indexterm><indexterm><primary>installing and testing
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3768 </primary><secondary>Intel IXDP</secondary></indexterm>RedBoot supports
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3769 the builtin high-speed and console UARTs and a PCI based i82559 ethernet
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3770 card for communication and downloads. The default serial port settings are
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3771 115200,8,N,1. RedBoot also supports flash management for the 16MB boot flash
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3772 on the mainboard.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3773
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3774 <para>The following RedBoot configurations are supported:
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3775
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3776 <informaltable frame="all">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3777 <tgroup cols="4" colsep="1" rowsep="1" align="left">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3778 <thead>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3779 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3780 <entry>Configuration</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3781 <entry>Mode</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3782 <entry>Description</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3783 <entry>File</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3784 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3785 </thead>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3786 <tbody>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3787 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3788 <entry>ROM</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3789 <entry>[ROM]</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3790 <entry>RedBoot running from flash
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3791 sector.</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3792 <entry>redboot_ROM.ecm</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3793 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3794 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3795 <entry>RAM</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3796 <entry>[RAM]</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3797 <entry>RedBoot running from RAM with RedBoot in the
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3798 flash boot sector.</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3799 <entry>redboot_RAM.ecm</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3800 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3801 </tbody>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3802 </tgroup>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3803 </informaltable>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3804 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3805
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3806 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3807 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3808 <title>Initial Installation Method</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3809 <para>The IXDP425 flash is socketed, so initial installation may be done using
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3810 an appropriate device programmer. JTAG based initial may also be used. In either
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3811 case, the ROM mode RedBoot is programmed into the boot flash at address 0x00000000.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3812 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3813
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3814 <para>After booting the initial installation of RedBoot, this warning may
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3815 be printed: <screen>flash configuration checksum error or invalid key
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3816 </screen>This is normal, and indicates that the flash should be configured
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3817 for use by RedBoot. See <xref linkend="Persistent-State-Flash"> for more
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3818 details.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3819 </para></sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3820 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3821 <title>LED Codes</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3822 <para>RedBoot uses the 4 digit LED display to indicate status during board
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3823 initialization. Possible codes are:</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3824
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3825 <literallayout width=72>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3826 LED Actions
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3827 -------------------------------------------------------------
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3828 Power-On/Reset
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3829 Set the CPSR
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3830 Enable coprocessor access
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3831 Drain write and fill buffer
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3832 Setup expansion bus chip selects
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3833 1001
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3834 Enable Icache
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3835 1002
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3836 Initialize SDRAM controller
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3837 1003
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3838 Switch flash (CS0) from 0x00000000 to 0x50000000
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3839 1004
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3840 Copy MMU table to RAM
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3841 1005
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3842 Setup TTB and domain permissions
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3843 1006
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3844 Enable MMU
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3845 1007
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3846 Enable DCache
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3847 1008
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3848 Enable branch target buffer
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3849 1009
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3850 Drain write and fill buffer
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3851 Flush caches
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3852 100A
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3853 Start up the eCos kernel or RedBoot
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3854 0001
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3855
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3856 </literallayout>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3857 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3858 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3859 <title>Rebuilding RedBoot </title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3860
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3861 <para>These shell variables provide the platform-specific information
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3862 needed for building RedBoot according to the procedure described in
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3863 <xref linkend="Rebuilding-Redboot">:
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3864 <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3865 export TARGET=ixdp425
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3866 export ARCH_DIR=arm
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3867 export PLATFORM_DIR=xscale/ixdp425
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3868 </programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3869 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3870
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3871 <para>The names of configuration files are listed above with the
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3872 description of the associated modes.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3873 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3874
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3875 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3876 <title>Interrupts</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3877 <para>RedBoot uses an interrupt vector table which is located at address 0x8004.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3878 Entries in this table are pointers to functions with this protoype:: <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3879 int irq_handler( unsigned vector, unsigned data )</programlisting>On the Mainstone
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3880 board, the vector argument is one of many interrupts defined in <computeroutput>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3881 hal/arm/xscale/ixp425/current/include/hal_var_ints.h:</computeroutput>: <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3882 #define CYGNUM_HAL_INTERRUPT_NPEA 0
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3883 #define CYGNUM_HAL_INTERRUPT_NPEB 1
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3884 #define CYGNUM_HAL_INTERRUPT_NPEC 2
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3885 #define CYGNUM_HAL_INTERRUPT_QM1 3
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3886 #define CYGNUM_HAL_INTERRUPT_QM2 4
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3887 #define CYGNUM_HAL_INTERRUPT_TIMER0 5
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3888 #define CYGNUM_HAL_INTERRUPT_GPIO0 6
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3889 #define CYGNUM_HAL_INTERRUPT_GPIO1 7
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3890 #define CYGNUM_HAL_INTERRUPT_PCI_INT 8
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3891 #define CYGNUM_HAL_INTERRUPT_PCI_DMA1 9
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3892 #define CYGNUM_HAL_INTERRUPT_PCI_DMA2 10
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3893 #define CYGNUM_HAL_INTERRUPT_TIMER1 11
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3894 #define CYGNUM_HAL_INTERRUPT_USB 12
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3895 #define CYGNUM_HAL_INTERRUPT_UART2 13
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3896 #define CYGNUM_HAL_INTERRUPT_TIMESTAMP 14
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3897 #define CYGNUM_HAL_INTERRUPT_UART1 15
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3898 #define CYGNUM_HAL_INTERRUPT_WDOG 16
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3899 #define CYGNUM_HAL_INTERRUPT_AHB_PMU 17
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3900 #define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3901 #define CYGNUM_HAL_INTERRUPT_GPIO2 19
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3902 #define CYGNUM_HAL_INTERRUPT_GPIO3 20
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3903 #define CYGNUM_HAL_INTERRUPT_GPIO4 21
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3904 #define CYGNUM_HAL_INTERRUPT_GPIO5 22
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3905 #define CYGNUM_HAL_INTERRUPT_GPIO6 23
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3906 #define CYGNUM_HAL_INTERRUPT_GPIO7 24
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3907 #define CYGNUM_HAL_INTERRUPT_GPIO8 25
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3908 #define CYGNUM_HAL_INTERRUPT_GPIO9 26
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3909 #define CYGNUM_HAL_INTERRUPT_GPIO10 27
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3910 #define CYGNUM_HAL_INTERRUPT_GPIO11 28
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3911 #define CYGNUM_HAL_INTERRUPT_GPIO12 29
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3912 #define CYGNUM_HAL_INTERRUPT_SW_INT1 30
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3913 #define CYGNUM_HAL_INTERRUPT_SW_INT2 31
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3914 </programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3915 The data passed to the ISR is pulled from a data table <computeroutput>(hal_interrupt_data)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3916 </computeroutput> which immediately follows the interrupt vector table. With
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3917 32 interrupts, the data table starts at address 0x8084. </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3918 <para>An application may create a normal C function with the above prototype
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3919 to be an ISR. Just poke its address into the table at the correct index and
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3920 enable the interrupt at its source. The return value of the ISR is ignored
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3921 by RedBoot.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3922 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3923 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3924 <title>Memory Maps</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3925 <para>The RAM based page table is located at RAM start + 0x4000.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3926 <note><title>NOTE</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3927 <para>The virtual memory maps in this section use a C, B, and X column to indicate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3928 the caching policy for the region..</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3929 </note></para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3930 <para><programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3931 X C B Description
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3932 - - - ---------------------------------------------
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3933 0 0 0 Uncached/Unbuffered
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3934 0 0 1 Uncached/Buffered
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3935 0 1 0 Cached/Buffered Write Through, Read Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3936 0 1 1 Cached/Buffered Write Back, Read Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3937 1 0 0 Invalid -- not used
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3938 1 0 1 Uncached/Buffered No write buffer coalescing
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3939 1 1 0 Mini DCache - Policy set by Aux Ctl Register
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3940 1 1 1 Cached/Buffered Write Back, Read/Write Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3941
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3942 Virtual Address Physical Address XCB Size (MB) Description
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3943 --------------- ---------------- --- --------- -----------
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3944 0x00000000 0x00000000 010 256 SDRAM (cached)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3945 0x10000000 0x10000000 010 256 SDRAM (alias)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3946 0x20000000 0x00000000 000 256 SDRAM (uncached)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3947 0x48000000 0x48000000 000 64 PCI Data
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3948 0x50000000 0x50000000 010 16 Flash (CS0)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3949 0x51000000 0x51000000 000 112 CS1 - CS7
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3950 0x60000000 0x60000000 000 64 Queue Manager
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3951 0xC0000000 0xC0000000 000 1 PCI Controller
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3952 0xC4000000 0xC4000000 000 1 Exp. Bus Config
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3953 0xC8000000 0xC8000000 000 1 Misc IXP425 IO
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3954 0xCC000000 0xCC000000 000 1 SDRAM Config
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3955
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3956 </programlisting></para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3957 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3958 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3959 <title>Platform Resource Usage</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3960 <para>The IXP425 programmable OStimer0 is used for timeout support
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3961 for networking and XModem file transfers.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3962 </sect2></sect1>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3963
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3964 <?Pub _newpage>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3965 <sect1 id="GRG">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3966 <title>ARM/Intel XScale Generic Residential Gateway</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3967 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3968 <title>Overview</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3969 <para><indexterm><primary>Intel GRG</primary><secondary>installing and
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3970 testing</secondary></indexterm><indexterm><primary>installing and testing
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3971 </primary><secondary>Intel GRG</secondary></indexterm>RedBoot supports
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3972 the console UART and a PCI based i82559 ethernet card for communication
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3973 and downloads. The default serial port settings are 115200,8,N,1. RedBoot
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3974 also supports flash management for the 16MB onboard flash.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3975
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3976 <para>The following RedBoot configurations are supported:
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3977
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3978 <informaltable frame="all">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3979 <tgroup cols="4" colsep="1" rowsep="1" align="left">
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3980 <thead>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3981 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3982 <entry>Configuration</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3983 <entry>Mode</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3984 <entry>Description</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3985 <entry>File</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3986 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3987 </thead>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3988 <tbody>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3989 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3990 <entry>ROM</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3991 <entry>[ROM]</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3992 <entry>RedBoot running from flash
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3993 sector.</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3994 <entry>redboot_ROM.ecm</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3995 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3996 <row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3997 <entry>RAM</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3998 <entry>[RAM]</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
3999 <entry>RedBoot running from RAM with RedBoot in the
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4000 flash boot sector.</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4001 <entry>redboot_RAM.ecm</entry>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4002 </row>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4003 </tbody>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4004 </tgroup>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4005 </informaltable>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4006 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4007
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4008 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4009 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4010 <title>Initial Installation Method</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4011 <para>The GRG flash is socketed, so initial installation may be done using
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4012 an appropriate device programmer. JTAG based initial may also be used. In either
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4013 case, the ROM mode RedBoot is programmed into the boot flash at address 0x00000000.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4014 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4015
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4016 <para>After booting the initial installation of RedBoot, this warning may
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4017 be printed: <screen>flash configuration checksum error or invalid key
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4018 </screen>This is normal, and indicates that the flash should be configured
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4019 for use by RedBoot. See <xref linkend="Persistent-State-Flash"> for more
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4020 details.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4021 </para></sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4022 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4023 <title>Rebuilding RedBoot </title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4024
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4025 <para>These shell variables provide the platform-specific information
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4026 needed for building RedBoot according to the procedure described in
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4027 <xref linkend="Rebuilding-Redboot">:
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4028 <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4029 export TARGET=grg
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4030 export ARCH_DIR=arm
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4031 export PLATFORM_DIR=xscale/grg
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4032 </programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4033 </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4034
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4035 <para>The names of configuration files are listed above with the
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4036 description of the associated modes.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4037 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4038
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4039 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4040 <title>Interrupts</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4041 <para>RedBoot uses an interrupt vector table which is located at address 0x8004.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4042 Entries in this table are pointers to functions with this protoype:: <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4043 int irq_handler( unsigned vector, unsigned data )</programlisting>On the Mainstone
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4044 board, the vector argument is one of many interrupts defined in <computeroutput>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4045 hal/arm/xscale/ixp425/current/include/hal_var_ints.h:</computeroutput>: <programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4046 #define CYGNUM_HAL_INTERRUPT_NPEA 0
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4047 #define CYGNUM_HAL_INTERRUPT_NPEB 1
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4048 #define CYGNUM_HAL_INTERRUPT_NPEC 2
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4049 #define CYGNUM_HAL_INTERRUPT_QM1 3
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4050 #define CYGNUM_HAL_INTERRUPT_QM2 4
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4051 #define CYGNUM_HAL_INTERRUPT_TIMER0 5
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4052 #define CYGNUM_HAL_INTERRUPT_GPIO0 6
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4053 #define CYGNUM_HAL_INTERRUPT_GPIO1 7
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4054 #define CYGNUM_HAL_INTERRUPT_PCI_INT 8
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4055 #define CYGNUM_HAL_INTERRUPT_PCI_DMA1 9
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4056 #define CYGNUM_HAL_INTERRUPT_PCI_DMA2 10
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4057 #define CYGNUM_HAL_INTERRUPT_TIMER1 11
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4058 #define CYGNUM_HAL_INTERRUPT_USB 12
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4059 #define CYGNUM_HAL_INTERRUPT_UART2 13
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4060 #define CYGNUM_HAL_INTERRUPT_TIMESTAMP 14
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4061 #define CYGNUM_HAL_INTERRUPT_UART1 15
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4062 #define CYGNUM_HAL_INTERRUPT_WDOG 16
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4063 #define CYGNUM_HAL_INTERRUPT_AHB_PMU 17
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4064 #define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4065 #define CYGNUM_HAL_INTERRUPT_GPIO2 19
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4066 #define CYGNUM_HAL_INTERRUPT_GPIO3 20
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4067 #define CYGNUM_HAL_INTERRUPT_GPIO4 21
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4068 #define CYGNUM_HAL_INTERRUPT_GPIO5 22
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4069 #define CYGNUM_HAL_INTERRUPT_GPIO6 23
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4070 #define CYGNUM_HAL_INTERRUPT_GPIO7 24
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4071 #define CYGNUM_HAL_INTERRUPT_GPIO8 25
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4072 #define CYGNUM_HAL_INTERRUPT_GPIO9 26
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4073 #define CYGNUM_HAL_INTERRUPT_GPIO10 27
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4074 #define CYGNUM_HAL_INTERRUPT_GPIO11 28
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4075 #define CYGNUM_HAL_INTERRUPT_GPIO12 29
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4076 #define CYGNUM_HAL_INTERRUPT_SW_INT1 30
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4077 #define CYGNUM_HAL_INTERRUPT_SW_INT2 31
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4078 </programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4079 The data passed to the ISR is pulled from a data table <computeroutput>(hal_interrupt_data)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4080 </computeroutput> which immediately follows the interrupt vector table. With
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4081 32 interrupts, the data table starts at address 0x8084. </para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4082 <para>An application may create a normal C function with the above prototype
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4083 to be an ISR. Just poke its address into the table at the correct index and
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4084 enable the interrupt at its source. The return value of the ISR is ignored
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4085 by RedBoot.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4086 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4087 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4088 <title>Memory Maps</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4089 <para>The RAM based page table is located at RAM start + 0x4000.
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4090 <note><title>NOTE</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4091 <para>The virtual memory maps in this section use a C, B, and X column to indicate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4092 the caching policy for the region..</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4093 </note></para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4094 <para><programlisting>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4095 X C B Description
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4096 - - - ---------------------------------------------
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4097 0 0 0 Uncached/Unbuffered
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4098 0 0 1 Uncached/Buffered
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4099 0 1 0 Cached/Buffered Write Through, Read Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4100 0 1 1 Cached/Buffered Write Back, Read Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4101 1 0 0 Invalid -- not used
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4102 1 0 1 Uncached/Buffered No write buffer coalescing
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4103 1 1 0 Mini DCache - Policy set by Aux Ctl Register
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4104 1 1 1 Cached/Buffered Write Back, Read/Write Allocate
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4105
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4106 Virtual Address Physical Address XCB Size (MB) Description
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4107 --------------- ---------------- --- --------- -----------
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4108 0x00000000 0x00000000 010 32 SDRAM (cached)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4109 0x10000000 0x00000000 010 32 SDRAM (alias)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4110 0x20000000 0x00000000 000 32 SDRAM (uncached)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4111 0x48000000 0x48000000 000 64 PCI Data
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4112 0x50000000 0x50000000 010 16 Flash (CS0)
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4113 0x51000000 0x51000000 000 112 CS1 - CS7
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4114 0x60000000 0x60000000 000 64 Queue Manager
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4115 0xC0000000 0xC0000000 000 1 PCI Controller
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4116 0xC4000000 0xC4000000 000 1 Exp. Bus Config
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4117 0xC8000000 0xC8000000 000 1 Misc IXP425 IO
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4118 0xCC000000 0xCC000000 000 1 SDRAM Config
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4119
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4120 </programlisting></para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4121 </sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4122 <sect2>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4123 <title>Platform Resource Usage</title>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4124 <para>The IXP425 programmable OStimer0 is used for timeout support
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4125 for networking and XModem file transfers.</para>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4126 </sect2></sect1>
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4127
d6cfbed66cf9 New XScale ports
msalter
parents: 632
diff changeset
4128
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4129 <!-- ********************** CalmRISC ********************** -->
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4130 <?Pub _newpage>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4131 <sect1 id="CalmRISC16">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4132 <title>CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board </title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4133 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4134 <title>Overview</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4135 <para><indexterm><primary>Samsung CalmRISC16 Core EVB</primary><secondary>installing
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4136 and testing</secondary></indexterm><indexterm><primary>installing and testing
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4137 </primary><secondary>Samsung CalmRISC16 Core EVB</secondary></indexterm> The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4138 Samsung CalmRISC16 evaluation platform consists of two boards connected by a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4139 ribbon cable. One board contains the CPU core and memory. The other board is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4140 called the MDSChip board and provides the host interface. The calmRISC16 is a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4141 harvard architecture with separate 22-bit program and data addresses. The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4142 instruction set provides no instruction for writing to program memory. The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4143 MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4144 so that code running on the core has access to a serial channel and a mechanism
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4145 to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4146 firmware. The CalmBreaker firmware also provides a serial protocol which
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4147 allows a host to download a program and to start or stop the core board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4148
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4149 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4150
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4151 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4152 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4153 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4154 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4155 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4156 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4157 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4158 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4159 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4160 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4161 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4162 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4163 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4164 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4165 <entry>RedBoot running via the MDSChip board.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4166 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4167 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4168 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4169 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4170 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4171 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4172
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4173 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4174 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4175 <title>Initial Installation Method </title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4176 <para>The CalmRISC16 core is controlled through the MDSChip board. There is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4177 no non-volatile storage available for RedBoot, so RedBoot must be downloaded
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4178 to the board on every power cycle. A small utility program is used to download
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4179 S-record files to the eval board. Sources and build instructions for this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4180 utility are located in the RedBoot sources in:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4181 <filename class="directory">packages/hal/calmrisc16/ceb/current/support
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4182 </filename></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4183 <para>To download the RedBoot image, first press the reset button on the MDSChip
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4184 board. The green 'Run' LED on the core board should go off. Now, use the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4185 utility to download the RedBoot image with:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4186 <screen>$ <userinput>calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4187 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4188 Note that the '-p /dev/term/b' specifies the serial port to use and will vary
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4189 from system to system. The download will take about two minutes. After it
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4190 finishes, start RedBoot with:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4191 <screen>$ <userinput>calmbreaker -p /dev/term/b --run</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4192 The 'Run' LED on the core board should be on. Connecting to the MDSboard with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4193 a terminal and typing enter should result in RedBoot reprinting the command
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4194 prompt.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4195 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4196 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4197 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4198 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4199 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4200 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4201 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4202 <title>Special Note on Serial Channel </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4203 <para>The MDSChip board uses a relatively slow microcontroller to provide
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4204 the pseudo-register interface to the core board. This pseudo-register
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4205 interface provides access to the serial channel and write access to program
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4206 memory. Those interfaces are slow and the serial channel is easily overrun
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4207 by a fast host. For this reason, GDB must be told to limit the size of code
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4208 download packets to avoid serial overrun. This is done with the following
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4209 GDB command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4210 <screen>(gdb) <userinput>set download-write-size 25</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4211 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4212 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4213 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4214
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4215 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4216
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4217 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4218 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4219 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4220 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4221 export TARGET=calm16_ceb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4222 export ARCH_DIR=calmrisc16
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4223 export PLATFORM_DIR=ceb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4224 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4225 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4226
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4227 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4228 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4229
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4230 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4231 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4232
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4233 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4234 <sect1 id="CalmRISC32">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4235 <title>CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4236 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4237 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4238 <para><indexterm><primary>Samsung CalmRISC32 Core EVB</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4239 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4240 </primary><secondary>Samsung CalmRISC32 Core EVB</secondary></indexterm> The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4241 Samsung CalmRISC32 evaluation platform consists of two boards connected by a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4242 ribbon cable. One board contains the CPU core and memory. The other board is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4243 called the MDSChip board and provides the host interface. The calmRISC32 is a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4244 harvard architecture with separate 32-bit program and data addresses. The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4245 instruction set provides no instruction for writing to program memory. The
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4246 MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4247 so that code running on the core has access to a serial channel and a mechanism
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4248 to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4249 firmware. The CalmBreaker firmware also provides a serial protocol which
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4250 allows a host to download a program and to start or stop the core board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4251
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4252 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4253
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4254 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4255 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4256 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4257 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4258 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4259 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4260 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4261 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4262 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4263 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4264 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4265 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4266 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4267 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4268 <entry>RedBoot running via the MDSChip board.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4269 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4270 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4271 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4272 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4273 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4274 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4275
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4276 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4277 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4278 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4279 <para>The calmRISC32 core is controlled through the MDSChip board. There is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4280 no non-volatile storage available for RedBoot, so RedBoot must be downloaded
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4281 to the board on every power cycle. A small utility program is used to download
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4282 S-record files to the eval board. Sources and build instructions for this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4283 utility are located in the RedBoot sources in:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4284 <filename class="directory">packages/hal/calmrisc32/ceb/current/support
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4285 </filename></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4286 <para>To download the RedBoot image, first press the reset button on the MDSChip
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4287 board. The green 'Run' LED on the core board should go off. Now, use the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4288 utility to download the RedBoot image with:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4289 <screen>$ <userinput>calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4290 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4291 Note that the '-p /dev/term/b' specifies the serial port to use and will vary
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4292 from system to syetm. The download will take about two minutes. After it
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4293 finishes, start RedBoot with:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4294 <screen>$ <userinput>calmbreaker -p /dev/term/b --run</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4295 The 'Run' LED on the core board should be on. Connecting to the MDSboard with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4296 a terminal and typing enter should result in RedBoot reprinting the command
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4297 prompt.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4298 </para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4299 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4300 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4301 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4302 <para>None.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4303 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4304 <sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4305 <title>Special Note on Serial Channel </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4306 <para>The MDSChip board uses a relatively slow microcontroller to provide
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4307 the pseudo-register interface to the core board. This pseudo-register
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4308 interface provides access to the serial channel and write access to program
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4309 memory. Those interfaces are slow and the serial channel is easily overrun
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4310 by a fast host. For this reason, GDB must be told to limit the size of code
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4311 download packets to avoid serial overrun. This is done with the following
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4312 GDB command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4313 <screen>(gdb) <userinput>set download-write-size 25</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4314 </para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4315 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4316 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4317 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4318
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4319 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4320 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4321 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4322 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4323 export TARGET=calm32_ceb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4324 export ARCH_DIR=calmrisc32
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4325 export PLATFORM_DIR=ceb
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4326 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4327 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4328
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4329 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4330 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4331
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4332 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4333 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4334
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4335 <!-- ******************************** FRV ********************* -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4336
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4337 <?Pub _newpage>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4338 <sect1 id="frv400">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4339 <title>FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4340 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4341 <title>Overview</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4342
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4343 <para><indexterm><primary>Fujitsu FR-V 400</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4344 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4345 installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4346 </primary><secondary>Fujitsu FR-V 400</secondary></indexterm>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4347 RedBoot supports both serial ports, which are available via
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4348 the stacked serial connectors on the mother board.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4349 The topmost port is the default and is considered to be port 0 by RedBoot.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4350 The bottommost port is serial port 1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4351 The default serial port settings are 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4352 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4353 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4354 FLASH management is also supported, but only for the FLASH device in IC7.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4355 This arrangement allows for IC8 to retain either the original Fujitsu board
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4356 firmware, or some application specific contents.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4357
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4358 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4359
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4360 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4361 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4362 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4363 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4364 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4365 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4366 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4367 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4368 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4369 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4370 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4371 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4372 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4373 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4374 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4375 board's flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4376 <entry>redboot_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4377 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4378 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4379 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4380 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4381 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4382 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4383 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4384 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4385 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4386 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4387 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4388 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4389 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4390
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4391 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4392 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4393
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4394 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4395 RedBoot can be installed by directly programming the FLASH device in IC7
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4396 or by using the Fujitsu provided software to download and install a
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4397 version into the FLASH device. Complete instructions are provided
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4398 separately.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4399 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4400
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4401 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4402
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4403 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4404 <title>Special RedBoot Commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4405
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4406 <para>None.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4407 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4408
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4409 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4410 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4411
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4412 <para>The memory map of this platform is fixed by the hardware (cannot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4413 be changed by software). The only attributes which can be modified are
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4414 control over cacheability, as noted below.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4415 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4416 Address Cache? Resource
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4417 00000000-03EFFFFF Yes SDRAM (via plugin DIMM)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4418 03F00000-03FFFFFF No SDRAM (used for PCI window)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4419 10000000-1FFFFFFF No MB86943 PCI bridge
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4420 20000000-201FFFFF No SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4421 21000000-23FFFFFF No Motherboard resources
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4422 24000000-25FFFFFF No PCI I/O space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4423 26000000-2FFFFFFF No PCI Memory space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4424 30000000-FDFFFFFF ?? Unused
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4425 FE000000-FEFFFFFF No I/O devices
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4426 FF000000-FF1FFFFF No IC7 - RedBoot FLASH
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4427 FF200000-FF3FFFFF No IC8 - unused FLASH
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4428 FF400000-FFFFFFFF No Misc other I/O
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4429 </screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4430 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4431
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4432 <note> <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4433 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4434 The only configuration currently suppored requires a 64MB SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4435 DIMM to be present on the CPU card. No other memory configuration
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4436 is supported at this time.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4437 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4438 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4439
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4440 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4441
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4442 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4443 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4444
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4445 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4446 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4447 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4448 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4449 export TARGET=frv400
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4450 export ARCH_DIR=frv
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4451 export PLATFORM_DIR=frv400
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4452 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4453 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4454
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4455 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4456 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4457 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4458
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4459 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4460
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4461 <!-- ********************************* IA32 *************************** -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4462 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4463 <sect1 id="x86pc">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4464 <title>IA32/x86 x86-Based PC</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4465 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4466 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4467 <para><indexterm><primary>x86 Based PC</primary><secondary>installing and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4468 testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4469 </primary><secondary>x86 Based PC</secondary></indexterm>RedBoot supports
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4470 two serial ports and an Intel i82559 based ethernet card (for example an Intel
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4471 EtherExpress Pro 10/100) for communication and downloads. The default serial
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4472 port settings are 38400,8,N,1.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4473
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4474 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4475
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4476 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4477 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4478 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4479 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4480 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4481 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4482 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4483 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4484 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4485 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4486 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4487 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4488 <entry>Floppy</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4489 <entry>[Floppy]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4490 <entry>RedBoot running from a boot floppy disk installed
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4491 in the A: drive of the PC.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4492 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4493 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4494 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4495 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4496 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4497 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4498
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4499 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4500 <sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4501 <title>Initial Installation</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4502 <para>RedBoot takes the form of a self-booting image that must be written
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4503 onto a formatted floppy disk. The process will erase any file system or data
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4504 that already exists on that disk, so proceed with caution.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4505 <para>For Red Hat Linux users, this can be done by:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4506 <screen>$ <userinput>dd conv=sync if=install/bin/redboot.bin of=/dev/fd0H1440
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4507 </userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4508 <para>For NT Cygwin users, this can be done by first ensuring that the raw
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4509 floppy device is mounted as <filename>/dev/fd0</filename>. To check if this
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4510 is the case, type the command <command>mount</command> at the Cygwin bash
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4511 prompt. If the floppy drive is already mounted, it will be listed as something
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4512 similar to the following line:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4513 <screen> \\.\a: /dev/fd0 user binmode</screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4514 <para>If this line is not listed, then mount the floppy drive using the command:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4515 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4516 <screen>$ <userinput>mount -f -b //./a: /dev/fd0</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4517 <para>To actually install the boot image on the floppy, use the command:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4518 <screen>$ <userinput>dd conv=sync if=install/bin/redboot.bin of=/dev/fd0
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4519 </userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4520 <para>Insert this floppy in the A: drive of the PC to be used as a target
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4521 and ensure that the BIOS is configured to boot from A: by default. On reset,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4522 the PC will boot from the floppy and be ready to be debugged via either serial
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4523 line, or via the ethernet interface if it is installed.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4524 <note><title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4525 <para>Unreliable floppy media may cause the write to silently fail. This
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4526 can be determined if the RedBoot image does not correctly
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4527 boot. In such cases, the floppy should be (unconditionally) reformatted
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4528 using the <command>fdformat</command> command on Linux, or
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4529 <command>format a: /u</command> on DOS/Windows.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4530 </note>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4531 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4532 <sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4533 <title>Flash management</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4534 <para>PC RedBoot does not support any FLASH commands.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4535 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4536 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4537 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4538 <para>None.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4539 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4540 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4541 <title>Memory Maps </title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4542 <para>All selectors are initialized to map the entire 32-bit address space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4543 in the familiar protected mode flat model. Page translation is not used.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4544 RAM up to 640K is mapped to 0x0 to 0xa0000. RAM above 640K is mapped
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4545 from address 0x100000 upwards. Space is reserved between 0xa0000 and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4546 0x100000 for option ROMs and the BIOS.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4547 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4548 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4549 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4550 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4551
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4552 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4553 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4554 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4555 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4556 export TARGET=pc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4557 export ARCH_DIR=i386
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4558 export PLATFORM_DIR=pc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4559 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4560 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4561
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4562 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4563 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4564
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4565 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4566 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4567
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4568 <!-- *************** MIPS ******************* -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4569
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4570 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4571 <sect1 id="atlas">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4572 <title>MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4573 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4574 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4575 <para><indexterm><primary>MIPS Atlas Board with CoreLV 4KC and CoreLV 5KC
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4576 </primary><secondary>installing and testing</secondary></indexterm><indexterm>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4577 <primary>installing and testing</primary><secondary>MIPS Atlas Board with
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4578 CoreLV 4KC and CoreLV 5KC</secondary></indexterm>RedBoot supports the DgbSer
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4579 serial port and the built in ethernet port for communication and downloads.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4580 The default serial port settings are 115200,8,N,1. RedBoot runs from and supports
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4581 flash management for the system flash region.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4582
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4583 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4584
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4585 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4586 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4587 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4588 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4589 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4590 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4591 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4592 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4593 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4594 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4595 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4596 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4597 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4598 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4599 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4600 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4601 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4602 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4603 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4604 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4605 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4606 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4607 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4608 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4609 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4610 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4611 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4612 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4613 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4614
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4615 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4616 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4617 <title>Initial Installation</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4618 <para>RedBoot is installed using the code download facility built into the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4619 Atlas board. See the Atlas User manual for details, and also the Atlas download
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4620 format in <xref linkend="Atlas-download-format">.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4621 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4622 <title>Quick download instructions</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4623 <para>Here are quick start instructions for downloading the prebuilt RedBoot
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4624 image.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4625 <orderedlist>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4626 <listitem><para>Locate the prebuilt files in the bin directory: <filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4627 deleteall.dl</filename> and <filename>redboot.dl</filename>.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4628 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4629 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4630 <listitem><para>Make sure switch S1-1 is OFF and switch S5-1 is ON. Reset
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4631 the board and verify that the LED display reads <computeroutput>Flash DL</computeroutput>.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4632 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4633 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4634 <listitem><para>Make sure your parallel port is connected to the 1284 port
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4635 Of the Atlas board. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4636 </listitem>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4637 <listitem><para>Send the <filename>deleteall.dl</filename> file to the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4638 parallel port to erase previous images:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4639 <screen>$ <userinput>cat deleteall.dl >/dev/lp0</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4640 When this is complete, the LED display should read
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4641 <computeroutput>Deleted</computeroutput>.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4642 </listitem>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4643 <listitem><para>Send the ROM mode RedBoot image to the board:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4644 <screen>$ <userinput>cat redboot.dl >/dev/lp0</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4645 When this is complete, the LED display should show the last
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4646 address programmed. This will be something like: <computeroutput>1fc17000
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4647 </computeroutput>. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4648 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4649 <listitem><para>Change switch S5-1 to OFF and reset the board. The LED display
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4650 should read <computeroutput>RedBoot</computeroutput>. </para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4651 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4652 <listitem><para>Run the RedBoot <command>fis init</command>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4653 and <command>fconfig</command> commands to initialize the flash.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4654 See <xref linkend="Atlas-Additional-fconfig-options">, <xref linkend="Flash-Image-System">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4655 and <xref linkend="Persistent-State-Flash"> for details. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4656 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4657 </orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4658 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4659 <sect3 id="Atlas-download-format">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4660 <title>Atlas download format</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4661 <para>In order to download RedBoot to the Atlas board, it must be converted
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4662 to the Atlas download format. There are different ways of doing this depending
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4663 on which version of the developer's kit is shipped with the board. </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4664 <para>The <citetitle>Atlas Developer's Kit</citetitle> CD contains an <application>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4665 srec2flash</application> utility. The source code for this utility is part
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4666 of the <filename>yamon/yamon-src-01.01.tar.gz</filename> tarball
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4667 on the Dev Kit CD. The path in the expanded tarball is <filename
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4668 class="directory">yamon/bin/tools</filename>. To use
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4669 <application>srec2flash</application> to convert the S-record file:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4670 <screen>$ <userinput>srec2flash -EL -S29 redboot.srec >redboot.dl</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4671 The <citetitle>Atlas/Malta Developer's Kit</citetitle> CD
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4672 contains an <application>srecconv.pl</application> utility which requires
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4673 Perl. This utilty is part of the <filename>yamon/yamon-src-02.00.tar.gz</filename>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4674 tarball on the Dev Kit CD. The path in the expanded tarball
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4675 is <filename class="directory">yamon/bin/tools</filename>. To use <application>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4676 srecconv</application> to convert the S-record file:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4677 <screen>$ <userinput>cp redboot_ROM.srec redboot_ROM.rec</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4678 $ <userinput>srecconv.pl -ES L -A 29 redboot_ROM</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4679 The resulting file is named <filename>redboot_ROM.fl</filename>.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4680 </sect3></sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4681 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4682 <title>Flash management</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4683 <sect3 id="Atlas-Additional-fconfig-options">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4684 <title>Additional config options</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4685 <para>The ethernet MAC address is stored in flash manually using the <command>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4686 fconfig</command> command. You can use the YAMON <command>setenv
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4687 ethaddr</command> command to print out the board ethernet address.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4688 Typically, it is: <screen>00:0d:a0:00:<replaceable>xx:xx</replaceable></screen> where
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4689 <replaceable>xx.xx</replaceable> is the hex representation of the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4690 board serial number.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4691 </sect3>
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
4692 </sect2>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4693 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4694 <title>Additional commands</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4695 <para>The <command>exec</command> command which allows the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4696 loading and execution of Linux kernels, is supported for this architecture
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4697 (see <xref linkend="executing-programs">). The
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4698 <command>exec</command> parameters used for MIPS boards are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4699 <variablelist><varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4700 <term>-b <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4701 <listitem><para>Location to store command line and environment passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4702 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4703 -w <replaceable>&lt;time></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4704 <listitem><para>Wait time in seconds before starting kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4705 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4706 -c <replaceable>"params"</replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4707 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4708 <varlistentry><term><replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4709 <listitem><para>Kernel entry point, defaulting to the entry point of the last image
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4710 loaded</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4711 </variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4712 <para>Linux kernels on MIPS platforms expect the entry point to be called with arguments
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4713 in the registers equivalent to a C call with prototype:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4714 <programlisting>void Linux(int argc, char **argv, char **envp);</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4715 <para>RedBoot will place the appropriate data at the offset specified by the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4716 <parameter>-b</parameter> parameter, or by default at address 0x80080000, and will set the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4717 arguments accordingly when calling into the kernel.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4718 <para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4719 The default entry point, if no image with explicit entry point has been loaded and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4720 none is specified, is 0x80000750.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4721 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4722 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4723
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4724 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4725 <title>Interrupts</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4726 <para>RedBoot uses an interrupt vector table which is located at address 0x80000400.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4727 Entries in this table are pointers to functions with this protoype: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4728 int irq_handler( unsigned vector, unsigned data )</programlisting>On an atlas
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4729 board, the vector argument is one of 25 interrupts defined in <computeroutput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4730 hal/mips/atlas/<replaceable>VERSION</replaceable>/include/plf_intr.h</computeroutput>: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4731 #define CYGNUM_HAL_INTERRUPT_SER 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4732 #define CYGNUM_HAL_INTERRUPT_TIM0 1
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4733 #define CYGNUM_HAL_INTERRUPT_2 2
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4734 #define CYGNUM_HAL_INTERRUPT_3 3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4735 #define CYGNUM_HAL_INTERRUPT_RTC 4
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4736 #define CYGNUM_HAL_INTERRUPT_COREHI 5
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4737 #define CYGNUM_HAL_INTERRUPT_CORELO 6
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4738 #define CYGNUM_HAL_INTERRUPT_7 7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4739 #define CYGNUM_HAL_INTERRUPT_PCIA 8
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4740 #define CYGNUM_HAL_INTERRUPT_PCIB 9
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4741 #define CYGNUM_HAL_INTERRUPT_PCIC 10
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4742 #define CYGNUM_HAL_INTERRUPT_PCID 11
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4743 #define CYGNUM_HAL_INTERRUPT_ENUM 12
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4744 #define CYGNUM_HAL_INTERRUPT_DEG 13
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4745 #define CYGNUM_HAL_INTERRUPT_ATXFAIL 14
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4746 #define CYGNUM_HAL_INTERRUPT_INTA 15
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4747 #define CYGNUM_HAL_INTERRUPT_INTB 16
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4748 #define CYGNUM_HAL_INTERRUPT_INTC 17
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4749 #define CYGNUM_HAL_INTERRUPT_INTD 18
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4750 #define CYGNUM_HAL_INTERRUPT_SERR 19
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4751 #define CYGNUM_HAL_INTERRUPT_HW1 20
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4752 #define CYGNUM_HAL_INTERRUPT_HW2 21
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4753 #define CYGNUM_HAL_INTERRUPT_HW3 22
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4754 #define CYGNUM_HAL_INTERRUPT_HW4 23
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4755 #define CYGNUM_HAL_INTERRUPT_HW5 24</programlisting>The data
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4756 passed to the ISR is pulled from a data table (<computeroutput>hal_interrupt_data
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4757 </computeroutput>) which immediately follows the interrupt vector table. With
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4758 25 interrupts, the data table starts at address 0x80000464 on atlas.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4759 <para>An application may create a normal C function with the above prototype
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4760 to be an ISR. Just poke its address into the table at the correct index and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4761 enable the interrupt at its source. The return value of the ISR is ignored
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4762 by RedBoot. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4763 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4764 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4765 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4766 <para>Memory Maps RedBoot sets up the following memory map on the Atlas board.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4767 <programlisting>Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4768 ----------------------- -------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4769 0x00000000 - 0x07ffffff SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4770 0x08000000 - 0x17ffffff PCI Memory Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4771 0x18000000 - 0x1bdfffff PCI I/O Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4772 0x1be00000 - 0x1bffffff System Controller
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4773 0x1c000000 - 0x1dffffff System flash
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4774 0x1e000000 - 0x1e3fffff Monitor flash
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4775 0x1f000000 - 0x1fbfffff FPGA</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4776 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4777 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4778 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4779
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4780 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4781 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4782 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4783 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4784 export TARGET=atlas_mips32_4kc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4785 export TARGET=atlas_mips64_5kc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4786 export ARCH_DIR=mips
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4787 export PLATFORM_DIR=atlas
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4788 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4789
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4790 Use one of the TARGET settings only.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4791
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4792 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4793
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4794 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4795 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4796
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4797 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4798 </sect1>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4799 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4800 <sect1 id="malta">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4801 <title>MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board </title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4802 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4803 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4804 <para><indexterm><primary>MIPS Malta Board with CoreLV 4KC and CoreLV 5KC
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4805 </primary><secondary>installing and testing</secondary></indexterm><indexterm>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4806 <primary>installing and testing</primary><secondary>MIPS Malta Board with
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4807 CoreLV 4KC and CoreLV 5KC</secondary></indexterm>RedBoot supports both front
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4808 facing serial ports and the built in ethernet port for communication and downloads.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4809 The default serial port settings are 38400,8,N,1. RedBoot runs from and supports
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4810 flash management for the system flash region.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4811
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4812 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4813
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4814 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4815 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4816 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4817 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4818 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4819 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4820 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4821 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4822 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4823 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4824 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4825 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4826 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4827 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4828 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4829 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4830 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4831 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4832 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4833 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4834 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4835 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4836 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4837 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4838 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4839 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4840 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4841 </informaltable>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4842 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4843
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4844 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4845 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4846 <title>Initial Installation</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4847 <para>RedBoot is installed using the code download facility built into the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4848 Malta board. See the Malta User manual for details, and also the Malta download
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4849 format in <xref linkend="Malta-download-format">.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4850 <sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4851 <title>Quick download instructions</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4852 <para>Here are quick start instructions for downloading the prebuilt RedBoot
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4853 image. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4854 <orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4855 <listitem><para>Locate the prebuilt files in the bin directory: <filename>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4856 deleteall.fl</filename> and <filename>redboot_ROM.fl</filename>. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4857 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4858 <listitem><para>Make sure switch S5-1 is ON. Reset the board and verify that
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4859 the LED display reads <computeroutput>Flash DL</computeroutput>. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4860 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4861 <listitem><para>Make sure your parallel port is connected to the 1284 port
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4862 Of the Atlas board. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4863 </listitem>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4864 <listitem><para>Send the <filename>deleteall.fl</filename> file to the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4865 parallel port to erase previous images:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4866 <screen>$ <userinput>cat deleteall.fl >/dev/lp0</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4867 When this is complete, the LED display should read
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4868 <computeroutput>Deleted</computeroutput>.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4869 </listitem>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4870 <listitem><para>Send the RedBoot image to the board:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4871 <screen>$ <userinput>cat redboot_ROM.fl >/dev/lp0</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4872 When this is complete, the LED display should show the last address
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4873 programmed. This will be something like:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4874 <computeroutput>1fc17000</computeroutput>. </para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4875 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4876 <listitem><para>Change switch S5-1 to OFF and reset the board. The LED display
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4877 should read <computeroutput>RedBoot</computeroutput>. </para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4878 </listitem>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4879 <listitem><para>Run the RedBoot <command>fis init</command> and <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4880 fconfig</command> commands to initialize the flash. See <xref linkend="Flash-Image-System">
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4881 and <xref linkend="Persistent-State-Flash"> for details. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4882 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4883 </orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4884 </sect3>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4885 <sect3 id="malta-download-format">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4886 <title>Malta download format</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4887 <para>In order to download RedBoot to the Malta board, it must be converted
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4888 to the Malta download format.</para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4889 <para>The <citetitle>Atlas/Malta Developer's Kit</citetitle> CD contains an <application>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4890 srecconv.pl</application> utility which requires Perl. This utility is part
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4891 of the <filename>yamon/yamon-src-02.00.tar.gz</filename> tarball
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4892 on the Dev Kit CD. The path in the expanded tarball is <filename
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4893 class="directory">yamon/bin/tools</filename>. To use
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4894 <application>srecconv</application> to convert the S-record file:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4895 <screen>$ <userinput>cp redboot_ROM.srec redboot_ROM.rec</userinput>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4896 $ <userinput>srecconv.pl -ES L -A 29 redboot_ROM</userinput></screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4897 The resulting file is named <filename>redboot_ROM.fl</filename>.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4898 </sect3></sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4899
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4900 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4901 <title>Additional commands</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4902 <para>The <command>exec</command> command which allows the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4903 loading and execution of Linux kernels, is supported for this architecture
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4904 (see <xref linkend="executing-programs">). The
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4905 <command>exec</command> parameters used for MIPS boards are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4906 <variablelist><varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4907 <term>-b <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4908 <listitem><para>Location to store command line and environment passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4909 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4910 -w <replaceable>&lt;time></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4911 <listitem><para>Wait time in seconds before starting kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4912 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4913 -c <replaceable>"params"</replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4914 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4915 <varlistentry><term><replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4916 <listitem><para>Kernel entry point, defaulting to the entry point of the last image
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4917 loaded</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4918 </variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4919 <para>Linux kernels on MIPS platforms expect the entry point to be called with arguments
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4920 in the registers equivalent to a C call with prototype:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4921 <programlisting>void Linux(int argc, char **argv, char **envp);</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4922 <para>RedBoot will place the appropriate data at the offset specified by the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4923 <parameter>-b</parameter> parameter, or by default at address 0x80080000, and will set the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4924 arguments accordingly when calling into the kernel.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4925 <para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4926 The default entry point, if no image with explicit entry point has been loaded and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4927 none is specified, is 0x80000750.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4928 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4929 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4930
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4931 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4932 <title>Interrupts</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4933 <para>RedBoot uses an interrupt vector table which is located at address 0x80000200.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4934 Entries in this table are pointers to functions with this protoype: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4935 int irq_handler( unsigned vector, unsigned data )</programlisting>On the malta
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4936 board, the vector argument is one of 22 interrupts defined in <computeroutput>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4937 hal/mips/malta/<replaceable>VERSION</replaceable>/include/plf_intr.h</computeroutput>: <programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4938
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4939 #define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_INTR 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4940 #define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_SMI 1
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4941 #define CYGNUM_HAL_INTERRUPT_CBUS_UART 2
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4942 #define CYGNUM_HAL_INTERRUPT_COREHI 3
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4943 #define CYGNUM_HAL_INTERRUPT_CORELO 4
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4944 #define CYGNUM_HAL_INTERRUPT_COMPARE 5
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4945 #define CYGNUM_HAL_INTERRUPT_TIMER 6
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4946 #define CYGNUM_HAL_INTERRUPT_KEYBOARD 7
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4947 #define CYGNUM_HAL_INTERRUPT_CASCADE 8
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4948 #define CYGNUM_HAL_INTERRUPT_TTY1 9
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4949 #define CYGNUM_HAL_INTERRUPT_TTY0 10
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4950 #define CYGNUM_HAL_INTERRUPT_11 11
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4951 #define CYGNUM_HAL_INTERRUPT_FLOPPY 12
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4952 #define CYGNUM_HAL_INTERRUPT_PARALLEL 13
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4953 #define CYGNUM_HAL_INTERRUPT_REAL_TIME_CLOCK 14
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4954 #define CYGNUM_HAL_INTERRUPT_I2C 15
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4955 #define CYGNUM_HAL_INTERRUPT_PCI_AB 16
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4956 #define CYGNUM_HAL_INTERRUPT_PCI_CD 17
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4957 #define CYGNUM_HAL_INTERRUPT_MOUSE 18
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4958 #define CYGNUM_HAL_INTERRUPT_19 19
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4959 #define CYGNUM_HAL_INTERRUPT_IDE_PRIMARY 20
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4960 #define CYGNUM_HAL_INTERRUPT_IDE_SECONDARY 21</programlisting>The data
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4961 passed to the ISR is pulled from a data table (<computeroutput>hal_interrupt_data
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4962 </computeroutput>) which immediately follows the interrupt vector table. With
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4963 22 interrupts, the data table starts at address 0x80000258.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4964 <para>An application may create a normal C function with the above prototype
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4965 to be an ISR. Just poke its address into the table at the correct index and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4966 enable the interrupt at its source. The return value of the ISR is ignored
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4967 by RedBoot. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4968 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4969 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4970 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4971 <para>Memory Maps RedBoot sets up the following memory map on the Malta board.<note>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4972 <title>NOTE</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4973 <para>The virtual memory maps in this section use a C and B column to indicate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4974 whether or not the region is cached (C) or buffered (B).</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4975 </note><programlisting>Physical Address Range C B Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4976 ----------------------- - - -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4977 0x80000000 - 0x81ffffff Y Y SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4978 0x9e000000 - 0x9e3fffff Y N System flash (cached)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4979 0x9fc00000 - 0x9fffffff Y N System flash (mirrored)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4980 0xa8000000 - 0xb7ffffff N N PCI Memory Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4981 0xb4000000 - 0xb40fffff N N Galileo System Controller
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4982 0xb8000000 - 0xb80fffff N N Southbridge / ISA
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4983 0xb8100000 - 0xbbdfffff N N PCI I/O Space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4984 0xbe000000 - 0xbe3fffff N N System flash (noncached)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4985 0xbf000000 - 0xbfffffff N N Board logic FPGA</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4986 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4987 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
4988 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4989
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4990 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4991 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4992 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4993 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4994 export TARGET=malta_mips32_4kc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4995 export ARCH_DIR=mips
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4996 export PLATFORM_DIR=malta
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4997 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4998 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
4999
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5000 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5001 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5002
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5003 </sect2></sect1>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5004 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5005 <sect1 id="ocelot">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5006 <title>MIPS/RM7000 PMC-Sierra Ocelot</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5007 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5008 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5009 <para><indexterm><primary>PMC-Sierra MIPS RM7000 Ocelot</primary><secondary>installing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5010 and testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5011 </primary><secondary>PMC-Sierra MIPS RM7000 Ocelot</secondary></indexterm>RedBoot
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5012 uses the front facing serial port. The default serial port settings are 38400,8,N,1.
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5013 RedBoot also supports ethernet. Management of onboard flash is also supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5014
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5015 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5016
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5017 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5018 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5019 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5020 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5021 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5022 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5023 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5024 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5025 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5026 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5027 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5028 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5029 <entry>ROM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5030 <entry>[ROM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5031 <entry>RedBoot running from the board's flash boot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5032 sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5033 <entry>redboot_ROM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5034 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5035 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5036 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5037 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5038 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5039 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5040 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5041 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5042 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5043 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5044 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5045 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5046 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5047
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5048 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5049 <title>Additional commands</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5050 <para>The <command>exec</command> command which allows the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5051 loading and execution of Linux kernels, is supported for this architecture
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5052 (see <xref linkend="executing-programs">). The
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5053 <command>exec</command> parameters used for MIPS boards are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5054 <variablelist><varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5055 <term>-b <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5056 <listitem><para>Location to store command line and environment passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5057 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5058 -w <replaceable>&lt;time></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5059 <listitem><para>Wait time in seconds before starting kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5060 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5061 -c <replaceable>"params"</replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5062 <listitem><para>Parameters passed to kernel</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5063 <varlistentry><term><replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5064 <listitem><para>Kernel entry point, defaulting to the entry point of the last image
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5065 loaded</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5066 </variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5067 <para>Linux kernels on MIPS platforms expect the entry point to be called with arguments
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5068 in the registers equivalent to a C call with prototype:
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5069 <programlisting>void Linux(int argc, char **argv, char **envp);</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5070 <para>RedBoot will place the appropriate data at the offset specified by the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5071 <parameter>-b</parameter> parameter, or by default at address 0x80080000, and will set the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5072 arguments accordingly when calling into the kernel.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5073 <para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5074 The default entry point, if no image with explicit entry point has been loaded and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5075 none is specified, is 0x80000750.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5076 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5077 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5078
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5079 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5080 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5081 <para>RedBoot sets up the following memory map on the Ocelot board. </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5082 <para>Note that these addresses are accessed through kseg0/1 and thus translate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5083 to the actual address range 0x80000000-0xbfffffff, depending on the need for
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5084 caching/non-caching access to the bus.<note><title>NOTE</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5085 <para>The virtual memory maps in this section use a C and B column to indicate
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5086 whether or not the region is cached (C) or buffered (B).</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5087 </note><programlisting>Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5088 ----------------------- -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5089 0x00000000 - 0x0fffffff SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5090 0x10000000 - 0x10ffffff PCI I/O space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5091 0x12000000 - 0x13ffffff PCI Memory space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5092 0x14000000 - 0x1400ffff Galileo system controller
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5093 0x1c000000 - 0x1c0000ff PLD (board logic)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5094 0x1fc00000 - 0x1fc7ffff flash</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5095 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5096 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5097 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5098
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5099 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5100 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5101 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5102 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5103 export TARGET=ocelot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5104 export ARCH_DIR=mips
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5105 export PLATFORM_DIR=rm7000/ocelot
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5106 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5107 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5108
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5109 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5110 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5111
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5112 </sect2></sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5113
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5114
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5115 <?Pub _newpage>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5116 <sect1 id="vrc4375">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5117 <title>MIPS/VR4375 NEC DDB-VRC4375</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5118 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5119 <title>Overview</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5120
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5121 <para><indexterm><primary>NEC DDB-VRC4375</primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5122 <secondary>installing and testing</secondary></indexterm><indexterm><primary>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5123 installing and testing</primary><secondary>NEC DDB-VRC4375
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5124 </secondary></indexterm>RedBoot supports only serial port 1, which is connected to the upper
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5125 of the stacked serial connectors on the board. The default serial
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5126 port settings are 38400,8,N,1. FLASH management is also supported.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5127
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5128 <para>The following RedBoot configurations are supported:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5129
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5130 <informaltable frame="all">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5131 <tgroup cols="4" colsep="1" rowsep="1" align="left">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5132 <thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5133 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5134 <entry>Configuration</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5135 <entry>Mode</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5136 <entry>Description</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5137 <entry>File</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5138 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5139 </thead>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5140 <tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5141 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5142 <entry>ROMRAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5143 <entry>[ROMRAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5144 <entry>RedBoot running from RAM, but contained in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5145 board's flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5146 <entry>redboot_ROMRAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5147 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5148 <row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5149 <entry>RAM</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5150 <entry>[RAM]</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5151 <entry>RedBoot running from RAM with RedBoot in the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5152 flash boot sector.</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5153 <entry>redboot_RAM.ecm</entry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5154 </row>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5155 </tbody>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5156 </tgroup>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5157 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5158 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5159
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5160 </sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5161
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5162 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5163 <title>Initial Installation Method </title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5164
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5165 <para>A device programmer should be used to program a socketed FLASH part
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5166 (AMD 29F040). The board as delivered is configured for a 512K
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5167 EPROM. To install a FLASH ROM, Jumpers J30, J31 and J36 need to be
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5168 changed as described in the board's User Manual.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5169 </sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5170
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5171 <sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5172 <title>Special RedBoot Commands</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5173
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5174 <para>None.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5175 </sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5176
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5177 <sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5178 <title>Memory Maps</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5179
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5180 <para>RedBoot sets up the memory map primarily as described in the board's
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5181 User Manual. There are some minor differences, noted in the following
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5182 table:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5183 <screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5184 Physical Virtual Resource
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5185 Addresses Addresses
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5186 00000000-01FFFFFF 80000000-81FFFFFF Base SDRAM (cached)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5187 00000000-01FFFFFF A0000000-A1FFFFFF Base SDRAM (uncached)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5188 0C000000-0C0BFFFF AC000000-AC0B0000 PCI IO space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5189 0F000000-0F0001FF AF000000-AF0001FF VRC4375 Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5190 1C000000-1C0FFFFF BC000000-BC0FFFFF VRC4372 Registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5191 1C100000-1DFFFFFF BC100000-BDFFFFFF PCI Memory space
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5192 1FC00000-1FC7FFFF BFC00000-BFC7FFFF FLASH ROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5193 80000000-8000000D C0000000-C000000D RTC
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5194 8000000E-80007FFF C000000E-C0007FFF NVRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5195 81000000-81FFFFFF C1000000-C1FFFFFF Z85C30 DUART
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5196 82000000-82FFFFFF C2000000-C2FFFFFF Z8536 Timer
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5197 83000000-83FFFFFF C3000000-C3FFFFFF 8255 Parallel port
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5198 87000000-87FFFFFF C7000000-C7FFFFFF Seven segment display</screen>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5199 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5200
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5201 <note> <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5202 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5203 By default the VRC4375 SIMM control registers are not programmed
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5204 since the values used must depend on the SIMMs installed. If SIMMs
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5205 are to be used, correct values must be placed in these registers
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5206 before accessing the SIMM address range.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5207 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5208 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5209
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5210 <note> <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5211 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5212 The allocation of address ranges to devices in the PCI IO and
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5213 memory spaces is handled by the eCos PCI support library. They do
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5214 not correspond to those described in the board User Manual.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5215 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5216 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5217
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5218 <note> <title>NOTE</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5219 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5220 The MMU has been set up to relocate the VRC4372 supported devices
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5221 mapped at physical addresses 0x8xxxxxxx to virtual addresses
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5222 0xCxxxxxxx.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5223 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5224 </note>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5225
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5226 </sect2>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5227
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5228 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5229 <title>Ethernet Driver</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5230
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5231 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5232 The ethernet driver is in two parts:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5233 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5234
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5235 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5236 A generic ether driver for the Intel i21143 device is located in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5237 <filename class="directory">devs/eth/intel/i21143</filename>. Its package name is <computeroutput>CYGPKG_DEVS_ETH_INTEL_I21143</computeroutput>.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5238 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5239
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5240 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5241 The platform-specific ether driver is <filename
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5242 class="directory">devs/eth/mips/vrc4375</filename>. Its package is
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5243 <computeroutput>CYGPKG_DEVS_ETH_MIPS_VRC4375</computeroutput>. This
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5244 tells the generic driver the address in IO memory of the chip, for
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5245 example, and other configuration details. The ESA (MAC address) is by
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5246 default collected from on-board serial EEPROM, unless configured
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5247 statically within this package.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5248 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5249 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5250
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5251 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5252 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5253
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5254 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5255 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5256 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5257 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5258 export TARGET=vrc4373
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5259 export ARCH_DIR=mips
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5260 export PLATFORM_DIR=vrc4373
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5261 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5262 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5263
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5264 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5265 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5266
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5267 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5268 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5269
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5270 <!-- ************************** PowerPC ********************** -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5271
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5272 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5273 <sect1 id="viper">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5274 <title>PowerPC/MPC860T Analogue & Micro PowerPC 860T</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5275 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5276 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5277 <para><indexterm><primary>Analogue & Micro PowerPC 860T</primary><secondary>installing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5278 and testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5279 </primary><secondary>Analogue & Micro PowerPC 860T</secondary></indexterm>RedBoot uses
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5280 the SMC1 serial port. The default serial port settings are 38400,8,N,1.
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5281 Ethernet is also supported using the RJ-45 connector. Management of
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5282 onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5283
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5284 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5285
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5286 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5287 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5288 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5289 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5290 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5291 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5292 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5293 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5294 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5295 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5296 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5297 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5298 <entry>ROMRAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5299 <entry>[ROMRAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5300 <entry>RedBoot running from RAM, but contained in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5301 board's flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5302 <entry>redboot_ROMRAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5303 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5304 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5305 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5306 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5307 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5308
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5309 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5310 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5311 <title>Initial Installation Method </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5312 <para>RedBoot must be installed at the A & M factory.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5313 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5314 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5315 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5316 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5317 <para>None.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5318 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5319 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5320 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5321 <para>Memory Maps RedBoot sets up the following memory map on the MBX board.<programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5322 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5323 ----------------------- -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5324 0x00000000 - 0x007fffff DRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5325 0xfe000000 - 0xfe0fffff flash (AMD29LV8008B)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5326 0xff000000 - 0xff0fffff MPC registers</programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5327 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5328 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5329 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5330
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5331 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5332 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5333 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5334 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5335 export TARGET=viper
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5336 export ARCH_DIR=powerpc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5337 export PLATFORM_DIR=viper
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5338 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5339 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5340
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5341 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5342 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5343
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5344 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5345 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5346
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5347 <?Pub _newpage>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5348 <sect1 id="mbx">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5349 <title>PowerPC/MPC8XX Motorola MBX</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5350 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5351 <title>Overview</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5352 <para><indexterm><primary>Motorola PowerPC MBX</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5353 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5354 </primary><secondary>Motorola PowerPC MBX</secondary></indexterm>RedBoot uses
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5355 the SMC1/COM1 serial port. The default serial port settings are 38400,8,N,1.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5356 Ethernet is also supported using the 10-base T connector. </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5357 <para>Management of onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5358
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5359 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5360
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5361 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5362 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5363 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5364 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5365 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5366 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5367 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5368 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5369 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5370 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5371 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5372 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5373 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5374 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5375 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5376 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5377 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5378 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5379 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5380 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5381 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5382 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5383 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5384 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5385 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5386 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5387 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5388 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5389 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5390
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5391 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5392 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5393 <title>Initial Installation Method </title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5394 <para>Device programmer is used to program the XU1 socketed flash part (AM29F040B)
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5395 with the ROM mode image of RedBoot. Use the on-board EPPC-Bug monitor to update
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5396 RedBoot. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5397 <para>This assumes that you have EPPC-Bug in the on-board flash. This can
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5398 be determined by setting up the board according to the following instructions
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5399 and powering up the board. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5400 <para>The EPPC-Bug prompt should appear on the SMC1 connector at 9600 baud,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5401 8N1. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5402 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5403 <listitem><para>Set jumper 3 to 2-3 [allow XU1 flash to be programmed] </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5404 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5405 <listitem><para>Set jumper 4 to 2-3 [boot EPPC-Bug] </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5406 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5407 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5408 <para>If it is available, program the flash by following these steps: </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5409 <orderedlist>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5410 <listitem><para>Prepare EPPC-Bug for download: <screen>EPPC-Bug><userinput>lo 0</userinput>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5411 </screen>At this point the monitor is ready for input. It will not
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5412 return the prompt until the file has been downloaded. </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5413 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5414 <listitem><para>Use the terminal emulator's ASCII download feature (or a simple
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5415 clipboard copy/paste operation) to download the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5416 <filename>redboot.ppcbug</filename> file.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5417 <para>Note that on Linux, <application>Minicom</application>'s ASCII
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5418 download feature seems to be broken. A workaround is to load the file
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5419 into <application>emacs</application> (or another editor) and copy the
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5420 full contents to the clipboard. Then press the mouse paste-button (usually
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5421 the middle one) over the <application>Minicom</application> window. </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5422 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5423 <listitem><para>Program the flash with the downloaded data: <screen>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5424 EPPC-Bug><userinput>pflash 40000 60000 fc000000</userinput></screen></para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5425 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5426 <listitem><para>Switch off the power, and change jumper 4 to 1-2. Turn on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5427 the power again. The board should now boot using the newly programmed RedBoot.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5428 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5429 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5430 </orderedlist>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5431 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5432 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5433 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5434 <para>None.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5435 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5436 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5437 <title>Memory Maps </title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5438 <para>Memory Maps RedBoot sets up the following memory map on the MBX board.<programlisting>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5439 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5440 ----------------------- -----------
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5441 0x00000000 - 0x003fffff DRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5442 0xfa100000 - 0xfa100003 LEDs
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5443 0xfe000000 - 0xfe07ffff flash (AMD29F040B)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5444 0xff000000 - 0xff0fffff MPC registers</programlisting></para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5445 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5446 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5447 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5448
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5449 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5450 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5451 <xref linkend="Rebuilding-Redboot">:
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5452 <programlisting>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5453 export TARGET=mbx
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5454 export ARCH_DIR=powerpc
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5455 export PLATFORM_DIR=mbx
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5456 </programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5457 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5458
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5459 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5460 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5461
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5462 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5463 </sect1>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5464
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5465
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5466
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5467
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5468 <!-- ********************** SuperH ************************ -->
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5469
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5470
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5471
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5472 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5473 <sect1 id="edk7708">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5474 <title>SuperH/SH3(SH7708) Hitachi EDK7708</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5475 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5476 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5477 <para><indexterm><primary>Hitachi SH EDK7708</primary><secondary>installing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5478 and testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5479 </primary><secondary>Hitachi SH EDK7708</secondary></indexterm>RedBoot uses
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5480 the serial port. The default serial port settings are 38400,8,N,1.</para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5481 <para>Management of onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5482
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5483 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5484
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5485 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5486 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5487 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5488 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5489 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5490 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5491 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5492 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5493 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5494 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5495 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5496 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5497 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5498 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5499 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5500 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5501 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5502 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5503 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5504 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5505 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5506 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5507 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5508 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5509 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5510 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5511 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5512 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5513 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5514
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5515 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5516 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5517 <title>Initial Installation Method </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5518 <para>Program the ROM RedBoot image into flash using an eprom programmer.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5519
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5520 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5521
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5522 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5523 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5524 <para>RedBoot sets up the following memory map on the EDK7708 board.<programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5525 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5526 ----------------------- -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5527 0x80000000 - 0x8001ffff Flash (AT29LV1024)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5528 0x88000000 - 0x881fffff DRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5529 0xa4000000 - 0xa40000ff LED ON
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5530 0xb8000000 - 0xb80000ff LED ON
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5531 </programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5532 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5533 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5534 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5535
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5536 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5537 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5538 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5539 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5540 export TARGET=edk7708
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5541 export ARCH_DIR=sh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5542 export PLATFORM_DIR=edk7708
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5543 </programlisting>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5544 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5545
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5546 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5547 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5548
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5549 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5550 </sect1>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5551
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5552 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5553 <sect1 id="se7709">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5554 <title>SuperH/SH3(SH7709) Hitachi Solution Engine 7709</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5555 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5556 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5557 <para><indexterm><primary>Hitachi SH SE7709</primary><secondary>installing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5558 and testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5559 </primary><secondary>Hitachi SH SE7709</secondary></indexterm>This
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5560 description covers the MS7709SE01 variant. See <xref linkend="se77x9">
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5561 for instructions for the MS7729SE01 and MS7709SSE0101 variants.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5562
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5563 <para>RedBoot uses
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5564 the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5565 Ethernet is also supported using the 10-base T connector. </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5566 <para>Management of onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5567
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5568 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5569
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5570 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5571 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5572 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5573 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5574 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5575 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5576 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5577 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5578 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5579 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5580 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5581 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5582 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5583 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5584 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5585 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5586 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5587 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5588 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5589 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5590 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5591 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5592 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5593 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5594 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5595 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5596 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5597 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5598 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5599
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5600 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5601 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5602 <title>Initial Installation Method </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5603 <para>The Solution Engine ships with the Hitachi boot monitor in EPROM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5604 which allows for initial programming of RedBoot:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5605
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5606 <orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5607 <listitem><para>Set switch SW4-1 to ON [boot from EPROM]</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5608 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5609 <listitem><para>Connect a serial cable to CN1 (SCI) and power up the board.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5610 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5611 <listitem><para>After the boot monitor banner, invoke the flash
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5612 download/program command:<screen>Ready &gt;<userinput>fl</userinput></screen></para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5613 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5614 <listitem><para>The monitor should now ask for input:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5615 <screen>Flash ROM data copy to RAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5616 Please Send A S-format Record</screen>At this point copy the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5617 RedBoot ROM SREC file to the serial port:<screen>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5618 $ <userinput>cat redboot_SE7709RP_ROM.eprom.srec &gt /dev/ttyS0</userinput></screen>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5619 Eventually you
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5620 should see something like<screen>Start Addrs = A1000000
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5621 End Addrs = A1xxxxxx
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5622 Transfer complete</screen> from the monitor.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5623 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5624 <listitem><para>Set switch SW4-1 to OFF [boot from flash] and reboot the board. You
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5625 should now see the RedBoot banner.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5626 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5627 </orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5628 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5629 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5630 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5631 <para>The <command>exec</command> command which allows the loading
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5632 and execution of Linux kernels
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5633 is supported for this board (see <xref linkend="executing-programs">). The <command>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5634 exec</command> parameters used for the SE77x9 are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5635 <variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5636 <varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5637 <term>-b <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5638 <listitem><para>Parameter block address. This is normally the first
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5639 page of the kernel image and defaults to 0x8c101000</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5640
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5641 <varlistentry><term>-i <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5642 <listitem><para>Start address of initrd
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5643 image</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5644
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5645 <varlistentry><term>-j <replaceable>&lt;size></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5646 <listitem><para>Size of initrd image</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5647
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5648 <varlistentry><term>-c <replaceable>"args"</replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5649 <listitem><para>Kernel arguments string</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5650
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5651 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5652 -m <replaceable>&lt;flags></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5653 <listitem><para>Mount rdonly flags. If set to a non-zero value the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5654 root partition will be mounted read-only.</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5655
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5656 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5657 -f <replaceable>&lt;flags></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5658 <listitem><para>RAM disk flags. Should normally be 0x4000</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5659
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5660 <varlistentry><term>-r <replaceable>&lt;device number></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5661 <listitem><para>Root device specification. /dev/ram is 0x0101</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5662
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5663 <varlistentry><term>-l <replaceable>&lt;type></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5664 <listitem><para>Loader type</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5665
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5666 </variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5667
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5668 <para>Finally the kernel entry address can be specified as an optional
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5669 argument. The default is 0x8c102000</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5670
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5671 <para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5672 For the the SE77x9, Linux by default expects to be loaded at
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5673 0x8c001000 which conflicts with the data space used by RedBoot.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5674 To work around this, either change the CONFIG_MEMORY_START kernel
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5675 option to a higher address, or use the compressed kernel image and load
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5676 it at a higher address. For example, setting CONFIG_MEMORY_START to
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5677 0x8c100000, the kernel expects to be loaded at address 0x8c101000 with
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5678 the entry point at 0x8c102000.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5679 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5680
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5681 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5682 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5683 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5684 <para>RedBoot sets up the following memory map on the SE77x9 board.<programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5685 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5686 ----------------------- -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5687 0x80000000 - 0x803fffff Flash (MBM29LV160)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5688 0x81000000 - 0x813fffff EPROM (M27C800)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5689 0x8c000000 - 0x8dffffff DRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5690 0xb0000000 - 0xb03fffff Ethernet (DP83902A)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5691 0xb0800000 - 0xb08fffff 16C552A
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5692 0xb1000000 - 0xb100ffff Switches
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5693 0xb1800000 - 0xb18fffff LEDs
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5694 0xb8000000 - 0xbbffffff PCMCIA (MaruBun)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5695 </programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5696 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5697 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5698 <title>Ethernet Driver</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5699 <para>The ethernet driver uses a hardwired ESA which can, at present,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5700 only be changed in CDL.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5701 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5702 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
5703 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5704
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5705 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5706 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5707 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5708 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5709 export TARGET=se77x9
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5710 export ARCH_DIR=sh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5711 export PLATFORM_DIR=se77x9
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5712 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5713 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5714
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5715 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5716 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5717 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5718 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5719
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5720 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5721 <sect1 id="hs7729pci">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5722 <title>SuperH/SH3(SH7729) Hitachi HS7729PCI</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5723 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5724 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5725 <para><indexterm><primary>Hitachi SH HS7729PCI</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5726 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5727 </primary><secondary>Hitachi SH HS7729PCI</secondary></indexterm>RedBoot uses
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5728 the COM1 and COM2 serial ports (and the debug port on the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5729 motherboard).
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5730 The default serial port settings are 38400,8,N,1.
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5731 Ethernet is also supported using a D-Link DFE-530TX PCI plugin
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5732 card. Management of onboard flash is also supported. </para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5733
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5734 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5735
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5736 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5737 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5738 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5739 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5740 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5741 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5742 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5743 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5744 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5745 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5746 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5747 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5748 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5749 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5750 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5751 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5752 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5753 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5754 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5755 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5756 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5757 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5758 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5759 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5760 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5761 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5762 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5763 </informaltable>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5764 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5765
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5766
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5767 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5768 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5769 <title>Initial Installation Method </title>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5770 <para>A ROM mode RedBoot image must be programmed
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5771 into the two EPROMs. Two files with a split version of the ROM mode
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5772 image is
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5773 provided: it is also possible to recreate these from the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5774 <filename>redboot.bin</filename>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5775 file, but requires the <application>split_word.c</application> program in
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5776 <filename
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5777 class="directory">hal/sh/hs7729pci/<replaceable>VERSION</replaceable>/misc</filename>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5778 to be built and executed with the <filename>redboot.bin</filename>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5779 filename as sole argument.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5780
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5781 <para>After doing this it is advised that another ROM mode image of
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5782 RedBoot is programmed into the on-board flash, and that copy be used
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5783 for booting the board. This allows for software programmed updates of
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5784 RedBoot instead of having to reprogram the EPROMs.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5785
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5786 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5787 <listitem><para>Program the EPROMs with RedBoot. The .lo image should
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5788 go in socket M1 and the .hi image in socket M2.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5789 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5790 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5791 <listitem><para>Set switch SW1-6 to ON [boot from EPROM]</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5792 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5793 <listitem><para>Follow the instructions under Flash management for
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5794 updating the flash copy of RedBoot, but force the flash destination
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5795 address with
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5796 <screen><userinput>-f 0x80400000</userinput></screen> due to setting of
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5797 the SW1-6 switch.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5798 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5799 <listitem><para>Set switch SW1-6 to OFF [boot from flash] and reboot the board. You
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5800 should now see the RedBoot banner. At this time you may want to issue
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5801 the command <command>fis init</command> to initialize
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5802 the flash table with the correct addresses.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5803 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5804 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5805
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5806
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5807 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5808 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5809 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5810 <para>The <command>exec</command> command which allows the loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5811 and execution of Linux kernels
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5812 is supported for this board (see <xref linkend="executing-programs">). The <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5813 exec</command> parameters used for the HS7729PCI are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5814 <variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5815 <varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5816 <term>-b <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5817 <listitem><para>Parameter block address. This is normally the first
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5818 page of the kernel image and defaults to 0x8c101000</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5819
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5820 <varlistentry><term>-i <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5821 <listitem><para>Start address of initrd
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5822 image</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5823
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5824 <varlistentry><term>-j <replaceable>&lt;size></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5825 <listitem><para>Size of initrd image</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5826
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5827 <varlistentry><term>-c <replaceable>"args"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5828 <listitem><para>Kernel arguments string</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5829
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5830 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5831 -m <replaceable>&lt;flags></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5832 <listitem><para>Mount rdonly flags. If set to a non-zero value the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5833 root partition will be mounted read-only.</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5834
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5835 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5836 -f <replaceable>&lt;flags></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5837 <listitem><para>RAM disk flags. Should normally be 0x4000</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5838
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5839 <varlistentry><term>-r <replaceable>&lt;device number></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5840 <listitem><para>Root device specification. /dev/ram is 0x0101</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5841
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5842 <varlistentry><term>-l <replaceable>&lt;type></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5843 <listitem><para>Loader type</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5844
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5845 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5846
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5847 <para>Finally the kernel entry address can be specified as an optional
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5848 argument. The default is 0x8c102000</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5849
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5850 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5851 On the HS7729PCI, Linux expects to be loaded at address 0x8c101000 with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5852 the entry point at 0x8c102000. This is configurable in the kernel
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5853 using the CONFIG_MEMORY_START option.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5854 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5855
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5856 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5857 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5858 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5859 <para>RedBoot sets up the following memory map on the HS7729PCI board.<programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5860 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5861 ----------------------- -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5862 0x80000000 - 0x803fffff Flash (MBM29LV160)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5863 0x80400000 - 0x807fffff EPROM (M27C800)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5864 0x82000000 - 0x82ffffff SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5865 0x89000000 - 0x89ffffff SRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5866 0x8c000000 - 0x8fffffff SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5867 0xa8000000 - 0xa800ffff SuperIO (FDC37C935A)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5868 0xa8400000 - 0xa87fffff USB function (ML60851C)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5869 0xa8800000 - 0xa8bfffff USB host (SL11HT)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5870 0xa8c00000 - 0xa8c3ffff Switches
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5871 0xa8c40000 - 0xa8c7ffff LEDs
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5872 0xa8c80000 - 0xa8cfffff Interrupt controller
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5873 0xb0000000 - 0xb3ffffff PCI (SD0001)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5874 0xb8000000 - 0xbbffffff PCMCIA (MaruBun)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5875 </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5876 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5877 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5878 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5879
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5880 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5881 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5882 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5883 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5884 export TARGET=hs7729pci
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5885 export ARCH_DIR=sh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5886 export PLATFORM_DIR=hs7729pci
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5887 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5888 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5889
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5890 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5891 description of the associated modes.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5892 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5893 </sect1>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5894
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5895 <?Pub _newpage>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5896 <sect1 id="se77x9">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5897 <title>SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5898 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5899 <title>Overview</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5900 <para><indexterm><primary>Hitachi SH SE77X9</primary><secondary>installing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5901 and testing</secondary></indexterm><indexterm><primary>installing and testing
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5902 </primary><secondary>Hitachi SH SE77X9</secondary></indexterm>This
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5903 description covers the MS7729SE01 and MS7709SSE0101 variants. See <xref linkend="se7709">
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5904 for instructions for the MS7709SE01 variant.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5905
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5906 <para>RedBoot uses
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5907 the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5908 Ethernet is also supported using the 10-base T connector. Management
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5909 of onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5910
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5911 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5912
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5913 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5914 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5915 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5916 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5917 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5918 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5919 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5920 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5921 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5922 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5923 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5924 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5925 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5926 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5927 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5928 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5929 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5930 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5931 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5932 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5933 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5934 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5935 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5936 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5937 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5938 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5939 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5940 </informaltable>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5941 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5942
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5943 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5944 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5945 <title>Initial Installation Method </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5946 <para>The Solution Engine ships with the Hitachi boot monitor in EPROM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5947 which allows for initial programming of RedBoot:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5948
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5949 <orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5950 <listitem><para>Set switches SW4-3 and SW4-4 to ON [boot from EPROM]</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5951 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5952 <listitem><para>Connect a serial cable to COM2 and power up the board.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5953 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5954 <listitem><para>After the boot monitor banner, invoke the flash
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5955 download/program command:<screen>Ready &gt;<userinput>fl</userinput></screen></para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5956 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5957 <listitem><para>The monitor should now ask for input:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5958 <screen>Flash ROM data copy to RAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5959 Please Send A S-format Record</screen>At this point copy the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5960 RedBoot ROM SREC file to the serial port:<screen>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5961 $ <userinput>cat redboot_ROM.eprom.srec &gt /dev/ttyS0</userinput></screen>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
5962 Eventually you
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5963 should see something like<screen>Start Addrs = A1000000
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5964 End Addrs = A1xxxxxx
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5965 Transfer complete</screen> from the monitor.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5966 </para></listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5967 <listitem><para>Set switch SW4-3 to OFF [boot from flash] and reboot the board. You
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5968 should now see the RedBoot banner.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5969 </listitem>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5970 </orderedlist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5971 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5972 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5973 <title>Special RedBoot Commands </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5974 <para>The <command>exec</command> command which allows the loading
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5975 and execution of Linux kernels
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5976 is supported for this board (see <xref linkend="executing-programs">). The <command>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5977 exec</command> parameters used for the SE77x9 are:</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5978 <variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5979 <varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5980 <term>-b <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5981 <listitem><para>Parameter block address. This is normally the first
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5982 page of the kernel image and defaults to 0x8c101000</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5983
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5984 <varlistentry><term>-i <replaceable>&lt;addr></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5985 <listitem><para>Start address of initrd
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5986 image</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5987
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5988 <varlistentry><term>-j <replaceable>&lt;size></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5989 <listitem><para>Size of initrd image</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5990
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5991 <varlistentry><term>-c <replaceable>"args"</replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5992 <listitem><para>Kernel arguments string</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5993
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5994 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5995 -m <replaceable>&lt;flags></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5996 <listitem><para>Mount rdonly flags. If set to a non-zero value the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5997 root partition will be mounted read-only.</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5998
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
5999 <varlistentry><term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6000 -f <replaceable>&lt;flags></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6001 <listitem><para>RAM disk flags. Should normally be 0x4000</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6002
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6003 <varlistentry><term>-r <replaceable>&lt;device number></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6004 <listitem><para>Root device specification. /dev/ram is 0x0101</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6005
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6006 <varlistentry><term>-l <replaceable>&lt;type></replaceable></term>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6007 <listitem><para>Loader type</para></listitem></varlistentry>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6008
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6009 </variablelist>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6010
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6011 <para>Finally the kernel entry address can be specified as an optional
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6012 argument. The default is 0x8c102000</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6013
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6014 <para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6015 On the SE77x9, Linux expects to be loaded at address 0x8c101000 with
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6016 the entry point at 0x8c102000. This is configurable in the kernel
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6017 using the CONFIG_MEMORY_START option.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6018 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6019
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6020 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6021 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6022 <title>Memory Maps </title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6023 <para>RedBoot sets up the following memory map on the SE77x9 board.<programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6024 Physical Address Range Description
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6025 ----------------------- -----------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6026 0x80000000 - 0x803fffff Flash (MBM29LV160)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6027 0x81000000 - 0x813fffff EPROM (M27C800)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6028 0x8c000000 - 0x8dffffff SDRAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6029 0xb0000000 - 0xb03fffff Ethernet (DP83902A)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6030 0xb0400000 - 0xb07fffff SuperIO (FDC37C935A)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6031 0xb0800000 - 0xb0bfffff Switches
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6032 0xb0c00000 - 0xbfffffff LEDs
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6033 0xb1800000 - 0xb1bfffff PCMCIA (MaruBun)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6034 </programlisting></para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6035 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6036 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6037 <title>Ethernet Driver</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6038 <para>The ethernet driver uses a hardwired ESA which can, at present,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6039 only be changed in CDL.</para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6040 </sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6041 <sect2>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6042 <title>Rebuilding RedBoot</title>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6043
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6044 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6045 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6046 <xref linkend="Rebuilding-Redboot">:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6047 <programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6048 export TARGET=se77x9
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6049 export ARCH_DIR=sh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6050 export PLATFORM_DIR=se77x9
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6051 </programlisting>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6052 </para>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6053
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6054 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6055 description of the associated modes.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6056 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6057 </sect1>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6058
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6059 <?Pub _newpage>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6060 <sect1 id="se7751">
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6061 <title>SuperH/SH4(SH7751) Hitachi Solution Engine 7751</title>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6062 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6063 <title>Overview</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6064 <para><indexterm><primary>Hitachi SH SE7751</primary><secondary>installing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6065 and testing</secondary></indexterm><indexterm><primary>installing and testing
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6066 </primary><secondary>Hitachi SH SE7751</secondary></indexterm>RedBoot uses
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6067 the COM1 serial port. The default serial port settings are 38400,8,N,1.
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6068 Ethernet is also supported using the 10-base T connector. Management
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6069 of onboard flash is also supported.</para>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6070
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6071 <para>The following RedBoot configurations are supported:
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6072
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6073 <informaltable frame="all">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6074 <tgroup cols="4" colsep="1" rowsep="1" align="left">
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6075 <thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6076 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6077 <entry>Configuration</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6078 <entry>Mode</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6079 <entry>Description</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6080 <entry>File</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6081 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6082 </thead>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6083 <tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6084 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6085 <entry>ROM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6086 <entry>[ROM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6087 <entry>RedBoot running from the board's flash boot
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6088 sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6089 <entry>redboot_ROM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6090 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6091 <row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6092 <entry>RAM</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6093 <entry>[RAM]</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6094 <entry>RedBoot running from RAM with RedBoot in the
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6095 flash boot sector.</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6096 <entry>redboot_RAM.ecm</entry>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6097 </row>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6098 </tbody>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6099 </tgroup>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6100 </informaltable>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6101 </para>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6102
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6103 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6104 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6105 <title>Initial Installation Method </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6106 <para>The Solution Engine ships with the Hitachi boot monitor in EPROM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6107 which allows for initial programming of RedBoot:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6108
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6109 <orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6110 <listitem><para>Set switches SW5-3 and SW5-4 to ON [boot from EPROM]</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6111 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6112 <listitem><para>Connect a serial cable to COM1 and power up the board.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6113 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6114 <listitem><para>After the boot monitor banner, invoke the flash
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6115 download/program command:<screen>Ready &gt;<userinput>fl</userinput></screen></para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6116 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6117 <listitem><para>The monitor should now ask for input:
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6118 <screen>Flash ROM data copy to RAM
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6119 Please Send A S-format Record</screen>At this point copy the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6120 RedBoot ROM SREC file to the serial port:<screen>
213
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6121 $ <userinput>cat redboot_ROM.eprom.srec &gt /dev/ttyS0</userinput></screen>
3a5832bf0564 Merge from eCos master repository on 2002-05-31-16:13:14-BST
jlarmour
parents: 211
diff changeset
6122 Eventually you
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6123 should see something like<screen>Start Addrs = A1000000
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6124 End Addrs = A1xxxxxx
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6125 Transfer complete</screen> from the monitor.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6126 </para></listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6127 <listitem><para>Set switch SW5-3 to OFF [boot from flash] and reboot the board. You
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6128 should now see the RedBoot banner.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6129 </listitem>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6130 </orderedlist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6131 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6132 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6133 <title>Special RedBoot Commands </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6134 <para>The <command>exec</command> command which allows the loading
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6135 and execution of Linux kernels
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6136 is supported for this board (see <xref linkend="executing-programs">). The <command>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6137 exec</command> parameters used for the SE7751 are:</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6138 <variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6139 <varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6140 <term>-b <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6141 <listitem><para>Parameter block address. This is normally the first
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6142 page of the kernel image and defaults to 0x8c101000</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6143
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6144 <varlistentry><term>-i <replaceable>&lt;addr></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6145 <listitem><para>Start address of initrd
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6146 image</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6147
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6148 <varlistentry><term>-j <replaceable>&lt;size></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6149 <listitem><para>Size of initrd image</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6150
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6151 <varlistentry><term>-c <replaceable>"args"</replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6152 <listitem><para>Kernel arguments string</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6153
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6154 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6155 -m <replaceable>&lt;flags></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6156 <listitem><para>Mount rdonly flags. If set to a non-zero value the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6157 root partition will be mounted read-only.</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6158
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6159 <varlistentry><term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6160 -f <replaceable>&lt;flags></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6161 <listitem><para>RAM disk flags. Should normally be 0x4000</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6162
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6163 <varlistentry><term>-r <replaceable>&lt;device number></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6164 <listitem><para>Root device specification. /dev/ram is 0x0101</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6165
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6166 <varlistentry><term>-l <replaceable>&lt;type></replaceable></term>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6167 <listitem><para>Loader type</para></listitem></varlistentry>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6168
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6169 </variablelist>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6170
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6171 <para>Finally the kernel entry address can be specified as an optional
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6172 argument. The default is 0x8c102000</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6173
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6174 <para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6175 On the SE7751, Linux expects to be loaded at address 0x8c101000 with
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6176 the entry point at 0x8c102000. This is configurable in the kernel
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6177 using the CONFIG_MEMORY_START option.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6178 </para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6179
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6180 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6181 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6182 <title>Memory Maps </title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6183 <para>RedBoot sets up the following memory map on the SE7751 board.<programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6184 Physical Address Range Description
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6185 ----------------------- -----------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6186 0x80000000 - 0x803fffff Flash (MBM29LV160)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6187 0x81000000 - 0x813fffff EPROM (M27C800)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6188 0x8c000000 - 0x8fffffff SDRAM
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6189 0xb8000000 - 0xb8ffffff PCMCIA (MaruBun)
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6190 0xb9000000 - 0xb9ffffff Switches
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6191 0xba000000 - 0xbaffffff LEDs
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6192 0xbd000000 - 0xbdffffff PCI MEM space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6193 0xbe200000 - 0xbe23ffff PCI Ctrl space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6194 0xbe240000 - 0xbe27ffff PCI IO space
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6195 </programlisting></para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6196 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6197 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6198 <title>Ethernet Driver</title>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6199 <para>The ethernet driver uses a hardwired ESA which can, at present,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6200 only be changed in CDL.</para>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6201 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6202 <sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6203 <title>Rebuilding RedBoot</title>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6204
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6205 <para>These shell variables provide the platform-specific information
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6206 needed for building RedBoot according to the procedure described in
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6207 <xref linkend="Rebuilding-Redboot">:
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6208 <programlisting>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6209 export TARGET=se7751
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6210 export ARCH_DIR=sh
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6211 export PLATFORM_DIR=se7751
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6212 </programlisting>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6213 </para>
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6214
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6215 <para>The names of configuration files are listed above with the
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents: 210
diff changeset
6216 description of the associated modes.</para>
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6217 </sect2>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6218 </sect1>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6219
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
diff changeset
6220 </chapter>