<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- permission is obtained from the copyright holder. -->
|
<!-- permission is obtained from the copyright holder. -->
|
<HTML
|
<HTML
|
><HEAD
|
><HEAD
|
><TITLE
|
><TITLE
|
>ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</TITLE
|
>ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</TITLE
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
<META
|
<META
|
NAME="GENERATOR"
|
NAME="GENERATOR"
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
"><LINK
|
"><LINK
|
REL="HOME"
|
REL="HOME"
|
TITLE="eCos Reference Manual"
|
TITLE="eCos Reference Manual"
|
HREF="ecos-ref.html"><LINK
|
HREF="ecos-ref.html"><LINK
|
REL="UP"
|
REL="UP"
|
TITLE="Installation and Testing"
|
TITLE="Installation and Testing"
|
HREF="installation-and-testing.html"><LINK
|
HREF="installation-and-testing.html"><LINK
|
REL="PREVIOUS"
|
REL="PREVIOUS"
|
TITLE="ARM/StrongARM(SA1110) Intel SA1110 (Assabet) "
|
TITLE="ARM/StrongARM(SA1110) Intel SA1110 (Assabet) "
|
HREF="assabet.html"><LINK
|
HREF="assabet.html"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC"
|
TITLE="ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC"
|
HREF="ipaq.html"></HEAD
|
HREF="ipaq.html"></HEAD
|
><BODY
|
><BODY
|
CLASS="SECT1"
|
CLASS="SECT1"
|
BGCOLOR="#FFFFFF"
|
BGCOLOR="#FFFFFF"
|
TEXT="#000000"
|
TEXT="#000000"
|
LINK="#0000FF"
|
LINK="#0000FF"
|
VLINK="#840084"
|
VLINK="#840084"
|
ALINK="#0000FF"
|
ALINK="#0000FF"
|
><DIV
|
><DIV
|
CLASS="NAVHEADER"
|
CLASS="NAVHEADER"
|
><TABLE
|
><TABLE
|
SUMMARY="Header navigation table"
|
SUMMARY="Header navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TH
|
><TH
|
COLSPAN="3"
|
COLSPAN="3"
|
ALIGN="center"
|
ALIGN="center"
|
>eCos Reference Manual</TH
|
>eCos Reference Manual</TH
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="assabet.html"
|
HREF="assabet.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="80%"
|
WIDTH="80%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
>Chapter 5. Installation and Testing</TD
|
>Chapter 5. Installation and Testing</TD
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="ipaq.html"
|
HREF="ipaq.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"></DIV
|
WIDTH="100%"></DIV
|
><DIV
|
><DIV
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><H1
|
><H1
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><A
|
><A
|
NAME="NANO">ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</H1
|
NAME="NANO">ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</H1
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5802">Overview</H2
|
NAME="AEN5802">Overview</H2
|
><P
|
><P
|
>RedBoot supports a serial port and the built in ethernet port
|
>RedBoot supports a serial port and the built in ethernet port
|
for communication and downloads. The default serial port settings are 38400,8,N,1.
|
for communication and downloads. The default serial port settings are 38400,8,N,1.
|
RedBoot runs from and supports flash management for the system flash
|
RedBoot runs from and supports flash management for the system flash
|
region.</P
|
region.</P
|
><P
|
><P
|
>The following RedBoot configurations are supported:
|
>The following RedBoot configurations are supported:
|
|
|
<DIV
|
<DIV
|
CLASS="INFORMALTABLE"
|
CLASS="INFORMALTABLE"
|
><A
|
><A
|
NAME="AEN5818"><P
|
NAME="AEN5818"><P
|
></P
|
></P
|
><TABLE
|
><TABLE
|
BORDER="1"
|
BORDER="1"
|
CLASS="CALSTABLE"
|
CLASS="CALSTABLE"
|
><THEAD
|
><THEAD
|
><TR
|
><TR
|
><TH
|
><TH
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Configuration</TH
|
>Configuration</TH
|
><TH
|
><TH
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Mode</TH
|
>Mode</TH
|
><TH
|
><TH
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Description</TH
|
>Description</TH
|
><TH
|
><TH
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>File</TH
|
>File</TH
|
></TR
|
></TR
|
></THEAD
|
></THEAD
|
><TBODY
|
><TBODY
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>POST</TD
|
>POST</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>[ROM]</TD
|
>[ROM]</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>RedBoot running from the first free flash block
|
>RedBoot running from the first free flash block
|
at 0x40000.</TD
|
at 0x40000.</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>redboot_ROM.ecm</TD
|
>redboot_ROM.ecm</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>RAM</TD
|
>RAM</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>[RAM]</TD
|
>[RAM]</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>RedBoot running from RAM with RedBoot in the
|
>RedBoot running from RAM with RedBoot in the
|
flash boot sector.</TD
|
flash boot sector.</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>redboot_RAM.ecm</TD
|
>redboot_RAM.ecm</TD
|
></TR
|
></TR
|
></TBODY
|
></TBODY
|
></TABLE
|
></TABLE
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
></P
|
></P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5837">Initial Installation</H2
|
NAME="AEN5837">Initial Installation</H2
|
><P
|
><P
|
>Unlike other targets, the nanoEngine comes equipped with boot firmware
|
>Unlike other targets, the nanoEngine comes equipped with boot firmware
|
which you cannot modify. See chapter 5, "nanoEngine Firmware" of the <I
|
which you cannot modify. See chapter 5, "nanoEngine Firmware" of the <I
|
CLASS="CITETITLE"
|
CLASS="CITETITLE"
|
>nanoEngine Hardware Reference Manual</I
|
>nanoEngine Hardware Reference Manual</I
|
> (we refer to "July 17, 2000
|
> (we refer to "July 17, 2000
|
Rev 0.6") from Bright Star Engineering. </P
|
Rev 0.6") from Bright Star Engineering. </P
|
><P
|
><P
|
>Because of this, eCos, and therefore Redboot, only supports a
|
>Because of this, eCos, and therefore Redboot, only supports a
|
special configuration of the ROM mode, starting at offset 0x40000 in
|
special configuration of the ROM mode, starting at offset 0x40000 in
|
the flash.</P
|
the flash.</P
|
><P
|
><P
|
>Briefly, the POST-configuration RedBoot image lives in flash following the
|
>Briefly, the POST-configuration RedBoot image lives in flash following the
|
BSE firmware. The BSE firmware is configured, using its standard <B
|
BSE firmware. The BSE firmware is configured, using its standard <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>bootcmd</B
|
>bootcmd</B
|
> command, to run RedBoot at startup.</P
|
> command, to run RedBoot at startup.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5844">Download Instructions</H2
|
NAME="AEN5844">Download Instructions</H2
|
><P
|
><P
|
>You can perform the initial load of the POST-configuration RedBoot image into
|
>You can perform the initial load of the POST-configuration RedBoot image into
|
flash using the BSE firmware's <B
|
flash using the BSE firmware's <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>load</B
|
>load</B
|
> command.
|
> command.
|
This will load a binary file, using TFTP, and program it into flash in one
|
This will load a binary file, using TFTP, and program it into flash in one
|
operation. Because no memory management is used in the BSE firmware, flash
|
operation. Because no memory management is used in the BSE firmware, flash
|
is mapped from address zero upwards, so the address for the RedBoot POST image
|
is mapped from address zero upwards, so the address for the RedBoot POST image
|
is 0x40000. You must use the binary version of RedBoot for this,
|
is 0x40000. You must use the binary version of RedBoot for this,
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>redboot-post.bin</TT
|
>redboot-post.bin</TT
|
>.</P
|
>.</P
|
><P
|
><P
|
>This assumes you have set up the other BSE firmware config
|
>This assumes you have set up the other BSE firmware config
|
parameters such that it can communicate over your network to your TFTP
|
parameters such that it can communicate over your network to your TFTP
|
server.
|
server.
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>><TT
|
>><TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>load redboot-post.bin 40000</B
|
>load redboot-post.bin 40000</B
|
></TT
|
></TT
|
>
|
>
|
loading ... erasing blk at 00040000
|
loading ... erasing blk at 00040000
|
erasing blk at 00050000
|
erasing blk at 00050000
|
94168 bytes loaded cksum 00008579
|
94168 bytes loaded cksum 00008579
|
done
|
done
|
>
|
>
|
> <TT
|
> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>set bootcmd "go 40000"</B
|
>set bootcmd "go 40000"</B
|
></TT
|
></TT
|
>
|
>
|
> <TT
|
> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>get</B
|
>get</B
|
></TT
|
></TT
|
>
|
>
|
myip = 10.16.19.198
|
myip = 10.16.19.198
|
netmask = 255.255.255.0
|
netmask = 255.255.255.0
|
eth = 0
|
eth = 0
|
gateway = 10.16.19.66
|
gateway = 10.16.19.66
|
serverip = 10.16.19.66
|
serverip = 10.16.19.66
|
bootcmd = go 40000
|
bootcmd = go 40000
|
></PRE
|
></PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
|
|
<DIV
|
<DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>NOTE: </B
|
>NOTE: </B
|
>the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead
|
>the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead
|
at 38400 Baud. You must select the right baud rate in your terminal program
|
at 38400 Baud. You must select the right baud rate in your terminal program
|
to be able to set up the BSE firmware.</P
|
to be able to set up the BSE firmware.</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
>
|
>
|
|
|
After a reset, the BSE firmware will print
|
After a reset, the BSE firmware will print
|
|
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>Boot: BSE 2000 Sep 12 2000 14:00:30
|
>Boot: BSE 2000 Sep 12 2000 14:00:30
|
autoboot: "go 40000" [hit ESC to abort]</PRE
|
autoboot: "go 40000" [hit ESC to abort]</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
|
|
and then RedBoot starts, switching to 38400 Baud.</P
|
and then RedBoot starts, switching to 38400 Baud.</P
|
><P
|
><P
|
>Once you have installed a bootable RedBoot in the system in this
|
>Once you have installed a bootable RedBoot in the system in this
|
manner, we advise re-installing using the generic method described in
|
manner, we advise re-installing using the generic method described in
|
<A
|
<A
|
HREF="updating-redboot.html"
|
HREF="updating-redboot.html"
|
>Chapter 4</A
|
>Chapter 4</A
|
> in order that the Flash Image System
|
> in order that the Flash Image System
|
contains an appropriate description of the flash entries.</P
|
contains an appropriate description of the flash entries.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5860">Cohabiting with POST in Flash</H2
|
NAME="AEN5860">Cohabiting with POST in Flash</H2
|
><P
|
><P
|
>The configuration file named <TT
|
>The configuration file named <TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>redboot_POST.ecm</TT
|
>redboot_POST.ecm</TT
|
>
|
>
|
configures RedBoot to build for execution at address 0x50040000 (or, during
|
configures RedBoot to build for execution at address 0x50040000 (or, during
|
bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
|
bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
|
firmware to live in the lower addresses of the flash and to run before RedBoot
|
firmware to live in the lower addresses of the flash and to run before RedBoot
|
gets control. The assumption is that RedBoot will be entered at its base address
|
gets control. The assumption is that RedBoot will be entered at its base address
|
in physical memory, that is 0x00040000.</P
|
in physical memory, that is 0x00040000.</P
|
><P
|
><P
|
>Alternatively, for testing, you can call it in an already running system
|
>Alternatively, for testing, you can call it in an already running system
|
by using <TT
|
by using <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>go 0x50040040</B
|
>go 0x50040040</B
|
></TT
|
></TT
|
> at another RedBoot prompt, or
|
> at another RedBoot prompt, or
|
a branch to that address. The address is where the reset vector
|
a branch to that address. The address is where the reset vector
|
points. It is reported by RedBoot's <B
|
points. It is reported by RedBoot's <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>load</B
|
>load</B
|
> command
|
> command
|
and listed
|
and listed
|
by the <B
|
by the <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>fis list</B
|
>fis list</B
|
> command, amongst other
|
> command, amongst other
|
places.</P
|
places.</P
|
><P
|
><P
|
>Using the POST configuration enables a normal config option which causes
|
>Using the POST configuration enables a normal config option which causes
|
linking and initialization against memory layout files called "...post..."
|
linking and initialization against memory layout files called "...post..."
|
rather than "...rom..." or "...ram..." in the <TT
|
rather than "...rom..." or "...ram..." in the <TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>include/pkgconf</TT
|
>include/pkgconf</TT
|
> directory. Specifically:<P
|
> directory. Specifically:<P
|
CLASS="LITERALLAYOUT"
|
CLASS="LITERALLAYOUT"
|
><TT
|
><TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.h</TT
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.h</TT
|
><br>
|
><br>
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.ldi</TT
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.ldi</TT
|
><br>
|
><br>
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.mlt</TT
|
>include/pkgconf/mlt_arm_sa11x0_nano_post.mlt</TT
|
></P
|
></P
|
>
|
>
|
|
|
It is these you should edit if you wish to move the execution address
|
It is these you should edit if you wish to move the execution address
|
from 0x50040000 in the POST configuration. Startup mode naturally
|
from 0x50040000 in the POST configuration. Startup mode naturally
|
remains ROM in this configuration.</P
|
remains ROM in this configuration.</P
|
><P
|
><P
|
>Because the nanoEngine contains immutable boot firmware at the start
|
>Because the nanoEngine contains immutable boot firmware at the start
|
of flash, RedBoot for this target is configured to reserve that area in the
|
of flash, RedBoot for this target is configured to reserve that area in the
|
Flash Image System, and to create by default an entry for the POST
|
Flash Image System, and to create by default an entry for the POST
|
mode RedBoot.
|
mode RedBoot.
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>RedBoot> <TT
|
>RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fis list</B
|
>fis list</B
|
></TT
|
></TT
|
>
|
>
|
Name FLASH addr Mem addr Length Entry point
|
Name FLASH addr Mem addr Length Entry point
|
(reserved) 0x50000000 0x50000000 0x00040000 0x00000000
|
(reserved) 0x50000000 0x50000000 0x00040000 0x00000000
|
RedBoot[post] 0x50040000 0x00100000 0x00020000 0x50040040
|
RedBoot[post] 0x50040000 0x00100000 0x00020000 0x50040040
|
RedBoot config 0x503E0000 0x503E0000 0x00010000 0x00000000
|
RedBoot config 0x503E0000 0x503E0000 0x00010000 0x00000000
|
FIS directory 0x503F0000 0x503F0000 0x00010000 0x00000000
|
FIS directory 0x503F0000 0x503F0000 0x00010000 0x00000000
|
RedBoot></PRE
|
RedBoot></PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
The entry "(reserved)" ensures that the FIS cannot attempt
|
The entry "(reserved)" ensures that the FIS cannot attempt
|
to overwrite the BSE firmware, thus ensuring that the board remains bootable
|
to overwrite the BSE firmware, thus ensuring that the board remains bootable
|
and recoverable even after installing a broken RedBoot image.</P
|
and recoverable even after installing a broken RedBoot image.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5877">Special RedBoot Commands</H2
|
NAME="AEN5877">Special RedBoot Commands</H2
|
><P
|
><P
|
>The nanoEngine/commEngine has one or two Intel i82559 Ethernet controllers
|
>The nanoEngine/commEngine has one or two Intel i82559 Ethernet controllers
|
installed, but these have no associated serial EEPROM in which to record their
|
installed, but these have no associated serial EEPROM in which to record their
|
Ethernet Station Address (ESA, or MAC address). The BSE firmware records an
|
Ethernet Station Address (ESA, or MAC address). The BSE firmware records an
|
ESA for the device it uses, but this information is not available to RedBoot;
|
ESA for the device it uses, but this information is not available to RedBoot;
|
we cannot share it.</P
|
we cannot share it.</P
|
><P
|
><P
|
>To keep the ESAs for the two ethernet interfaces, two new items of RedBoot
|
>To keep the ESAs for the two ethernet interfaces, two new items of RedBoot
|
configuration data are introduced. You can list them with the RedBoot command <B
|
configuration data are introduced. You can list them with the RedBoot command <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>fconfig -l</B
|
>fconfig -l</B
|
> thus:
|
> thus:
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>RedBoot> <TT
|
>RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fconfig -l</B
|
>fconfig -l</B
|
></TT
|
></TT
|
>
|
>
|
Run script at boot: false
|
Run script at boot: false
|
Use BOOTP for network configuration: false
|
Use BOOTP for network configuration: false
|
Local IP address: 10.16.19.91
|
Local IP address: 10.16.19.91
|
Default server IP address: 10.16.19.66
|
Default server IP address: 10.16.19.66
|
Network hardware address [MAC] for eth0: 0x00:0xB5:0xE0:0xB5:0xE0:0x99
|
Network hardware address [MAC] for eth0: 0x00:0xB5:0xE0:0xB5:0xE0:0x99
|
Network hardware address [MAC] for eth1: 0x00:0xB5:0xE0:0xB5:0xE0:0x9A
|
Network hardware address [MAC] for eth1: 0x00:0xB5:0xE0:0xB5:0xE0:0x9A
|
GDB connection port: 9000
|
GDB connection port: 9000
|
Network debug at boot time: false
|
Network debug at boot time: false
|
RedBoot></PRE
|
RedBoot></PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
|
|
You should set them before running RedBoot or eCos applications with
|
You should set them before running RedBoot or eCos applications with
|
the board connected to a network. The <B
|
the board connected to a network. The <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>fconfig </B
|
>fconfig </B
|
>
|
>
|
command can be used as for any configuration data item; the entire ESA
|
command can be used as for any configuration data item; the entire ESA
|
is entered in one line.</P
|
is entered in one line.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5885">Memory Maps</H2
|
NAME="AEN5885">Memory Maps</H2
|
><P
|
><P
|
>The first level page table is located at physical address 0xc0004000.
|
>The first level page table is located at physical address 0xc0004000.
|
No second level tables are used. <DIV
|
No second level tables are used. <DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>NOTE: </B
|
>NOTE: </B
|
>The virtual memory maps in this section use a C and B column to indicate
|
>The virtual memory maps in this section use a C and B column to indicate
|
whether or not the region is cached (C) or buffered (B).</P
|
whether or not the region is cached (C) or buffered (B).</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="PROGRAMLISTING"
|
CLASS="PROGRAMLISTING"
|
>Physical Address Range Description
|
>Physical Address Range Description
|
----------------------- ----------------------------------
|
----------------------- ----------------------------------
|
0x00000000 - 0x003fffff 4Mb FLASH (nCS0)
|
0x00000000 - 0x003fffff 4Mb FLASH (nCS0)
|
0x18000000 - 0x18ffffff Internal PCI bus - 2 x i82559 ethernet
|
0x18000000 - 0x18ffffff Internal PCI bus - 2 x i82559 ethernet
|
0x40000000 - 0x4fffffff External IO or PCI bus
|
0x40000000 - 0x4fffffff External IO or PCI bus
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
0xc0000000 - 0xc7ffffff DRAM Bank 0 - 32Mb SDRAM
|
0xc0000000 - 0xc7ffffff DRAM Bank 0 - 32Mb SDRAM
|
0xc8000000 - 0xcfffffff DRAM Bank 1 - empty
|
0xc8000000 - 0xcfffffff DRAM Bank 1 - empty
|
0xe0000000 - 0xe7ffffff Cache Clean
|
0xe0000000 - 0xe7ffffff Cache Clean
|
|
|
Virtual Address Range C B Description
|
Virtual Address Range C B Description
|
----------------------- - - ----------------------------------
|
----------------------- - - ----------------------------------
|
0x00000000 - 0x001fffff Y Y DRAM - 8Mb to 32Mb
|
0x00000000 - 0x001fffff Y Y DRAM - 8Mb to 32Mb
|
0x18000000 - 0x180fffff N N Internal PCI bus - 2 x i82559 ethernet
|
0x18000000 - 0x180fffff N N Internal PCI bus - 2 x i82559 ethernet
|
0x40000000 - 0x4fffffff N N External IO or PCI bus
|
0x40000000 - 0x4fffffff N N External IO or PCI bus
|
0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
|
0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
0xc0000000 - 0xc0ffffff N Y DRAM Bank 0: 8 or 16Mb
|
0xc0000000 - 0xc0ffffff N Y DRAM Bank 0: 8 or 16Mb
|
0xc8000000 - 0xc8ffffff N Y DRAM Bank 1: 8 or 16Mb or absent
|
0xc8000000 - 0xc8ffffff N Y DRAM Bank 1: 8 or 16Mb or absent
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean</PRE
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></P
|
></P
|
><P
|
><P
|
>The ethernet devices use a "PCI window" to communicate with the CPU.
|
>The ethernet devices use a "PCI window" to communicate with the CPU.
|
This is 1Mb of SDRAM which is shared with the ethernet devices that are on
|
This is 1Mb of SDRAM which is shared with the ethernet devices that are on
|
the PCI bus. It is neither cached nor buffered, to ensure that CPU and PCI
|
the PCI bus. It is neither cached nor buffered, to ensure that CPU and PCI
|
accesses see correct data in the correct order. By default it is configured
|
accesses see correct data in the correct order. By default it is configured
|
to be megabyte number 30, at addresses 0x01e00000-0x01efffff. This can be
|
to be megabyte number 30, at addresses 0x01e00000-0x01efffff. This can be
|
modified, and indeed must be, if less than 32Mb of SDRAM is installed, via
|
modified, and indeed must be, if less than 32Mb of SDRAM is installed, via
|
the memory layout tool, or by moving the section <TT
|
the memory layout tool, or by moving the section <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>__pci_window</TT
|
>__pci_window</TT
|
> referred to by symbols <TT
|
> referred to by symbols <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>CYGMEM_SECTION_pci_window*</TT
|
>CYGMEM_SECTION_pci_window*</TT
|
> in the linker script. </P
|
> in the linker script. </P
|
><P
|
><P
|
>Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM
|
>Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM
|
bank 0, the code can cope with any of these combinations also; "2 x " in this
|
bank 0, the code can cope with any of these combinations also; "2 x " in this
|
context means one device in each DRAM Bank. <P
|
context means one device in each DRAM Bank. <P
|
CLASS="LITERALLAYOUT"
|
CLASS="LITERALLAYOUT"
|
>1 x 8Mb = 8Mb 2 x 8Mb = 16Mb<br>
|
>1 x 8Mb = 8Mb 2 x 8Mb = 16Mb<br>
|
1 x 16Mb = 16Mb 2 x 16Mb = 32Mb</P
|
1 x 16Mb = 16Mb 2 x 16Mb = 32Mb</P
|
>All are programmed the same
|
>All are programmed the same
|
in the memory controller. </P
|
in the memory controller. </P
|
><P
|
><P
|
>Startup code detects which is fitted and programs the memory map accordingly.
|
>Startup code detects which is fitted and programs the memory map accordingly.
|
If the device(s) is 8Mb, then there are gaps in the physical memory map, because
|
If the device(s) is 8Mb, then there are gaps in the physical memory map, because
|
a high order address bit is not connected. The gaps are the higher 2Mb out
|
a high order address bit is not connected. The gaps are the higher 2Mb out
|
of every 4Mb.</P
|
of every 4Mb.</P
|
><P
|
><P
|
> The SA11x0 OS timer is used as a polled timer to provide timeout
|
> The SA11x0 OS timer is used as a polled timer to provide timeout
|
support within RedBoot.</P
|
support within RedBoot.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5899">Nano Platform Port</H2
|
NAME="AEN5899">Nano Platform Port</H2
|
><P
|
><P
|
>The nano is in the set of SA11X0-based platforms. It uses the arm architectural
|
>The nano is in the set of SA11X0-based platforms. It uses the arm architectural
|
HAL, the sa11x0 variant HAL, plus the nano platform hal. These are components
|
HAL, the sa11x0 variant HAL, plus the nano platform hal. These are components
|
<P
|
<P
|
CLASS="LITERALLAYOUT"
|
CLASS="LITERALLAYOUT"
|
>CYGPKG_HAL_ARM hal/arm/arch/<br>
|
>CYGPKG_HAL_ARM hal/arm/arch/<br>
|
CYGPKG_HAL_ARM_SA11X0 hal/arm/sa11x0/var<br>
|
CYGPKG_HAL_ARM_SA11X0 hal/arm/sa11x0/var<br>
|
CYGPKG_HAL_ARM_SA11X0_NANO hal/arm/sa11x0/nano</P
|
CYGPKG_HAL_ARM_SA11X0_NANO hal/arm/sa11x0/nano</P
|
> respectively.
|
> respectively.
|
</P
|
</P
|
><P
|
><P
|
>The target name is "nano" which includes all these, plus the ethernet
|
>The target name is "nano" which includes all these, plus the ethernet
|
driver packages, flash driver, and so on.</P
|
driver packages, flash driver, and so on.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5904">Ethernet Driver</H2
|
NAME="AEN5904">Ethernet Driver</H2
|
><P
|
><P
|
>The ethernet driver is in two parts: </P
|
>The ethernet driver is in two parts: </P
|
><P
|
><P
|
>A generic ether driver for Intel i8255x series devices, specifically
|
>A generic ether driver for Intel i8255x series devices, specifically
|
the i82559, is <TT
|
the i82559, is <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>devs/eth/intel/i82559</TT
|
>devs/eth/intel/i82559</TT
|
>. Its
|
>. Its
|
package name is <TT
|
package name is <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>CYGPKG_DEVS_ETH_INTEL_I82559</TT
|
>CYGPKG_DEVS_ETH_INTEL_I82559</TT
|
>.
|
>.
|
</P
|
</P
|
><P
|
><P
|
>The platform-specific ether driver is <TT
|
>The platform-specific ether driver is <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>devs/eth/arm/nano</TT
|
>devs/eth/arm/nano</TT
|
>. Its package is <TT
|
>. Its package is <TT
|
CLASS="COMPUTEROUTPUT"
|
CLASS="COMPUTEROUTPUT"
|
>CYGPKG_DEVS_ETH_ARM_NANO</TT
|
>CYGPKG_DEVS_ETH_ARM_NANO</TT
|
>. This tells the generic driver the address in IO memory
|
>. This tells the generic driver the address in IO memory
|
of the chip, for example, and other configuration details. This driver picks
|
of the chip, for example, and other configuration details. This driver picks
|
up the ESA from RedBoot's configuration data - unless configured to use a
|
up the ESA from RedBoot's configuration data - unless configured to use a
|
static ESA in the usual manner. </P
|
static ESA in the usual manner. </P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5913">Rebuilding RedBoot</H2
|
NAME="AEN5913">Rebuilding RedBoot</H2
|
><P
|
><P
|
>These shell variables provide the platform-specific information
|
>These shell variables provide the platform-specific information
|
needed for building RedBoot according to the procedure described in
|
needed for building RedBoot according to the procedure described in
|
<A
|
<A
|
HREF="rebuilding-redboot.html"
|
HREF="rebuilding-redboot.html"
|
>Chapter 3</A
|
>Chapter 3</A
|
>:
|
>:
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="PROGRAMLISTING"
|
CLASS="PROGRAMLISTING"
|
>export TARGET=nano
|
>export TARGET=nano
|
export ARCH_DIR=arm
|
export ARCH_DIR=arm
|
export PLATFORM_DIR=sa11x0/nano</PRE
|
export PLATFORM_DIR=sa11x0/nano</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></P
|
></P
|
><P
|
><P
|
>The names of configuration files are listed above with the
|
>The names of configuration files are listed above with the
|
description of the associated modes.</P
|
description of the associated modes.</P
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NAVFOOTER"
|
CLASS="NAVFOOTER"
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"><TABLE
|
WIDTH="100%"><TABLE
|
SUMMARY="Footer navigation table"
|
SUMMARY="Footer navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="assabet.html"
|
HREF="assabet.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="ecos-ref.html"
|
HREF="ecos-ref.html"
|
ACCESSKEY="H"
|
ACCESSKEY="H"
|
>Home</A
|
>Home</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="ipaq.html"
|
HREF="ipaq.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
>ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</TD
|
>ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="installation-and-testing.html"
|
HREF="installation-and-testing.html"
|
ACCESSKEY="U"
|
ACCESSKEY="U"
|
>Up</A
|
>Up</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
>ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</TD
|
>ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|