<!-- 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) Compaq iPAQ PocketPC</TITLE
|
>ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</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(SA11X0) Bright Star Engineering commEngine and nanoEngine"
|
TITLE="ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine"
|
HREF="nano.html"><LINK
|
HREF="nano.html"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="ARM/StrongARM(SA11X0) Intrinsyc CerfCube"
|
TITLE="ARM/StrongARM(SA11X0) Intrinsyc CerfCube"
|
HREF="cerfcube.html"></HEAD
|
HREF="cerfcube.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="nano.html"
|
HREF="nano.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="cerfcube.html"
|
HREF="cerfcube.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="IPAQ">ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</H1
|
NAME="IPAQ">ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</H1
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN5927">Overview</H2
|
NAME="AEN5927">Overview</H2
|
><P
|
><P
|
>RedBoot supports the serial port via cradle or cable, and Compact Flash
|
>RedBoot supports the serial port via cradle or cable, and Compact Flash
|
ethernet cards if fitted for communication and downloads. The LCD touchscreen
|
ethernet cards if fitted for communication and downloads. The LCD touchscreen
|
may also be used for the console, although by default RedBoot will switch
|
may also be used for the console, although by default RedBoot will switch
|
exclusively to one channel once input arrives. </P
|
exclusively to one channel once input arrives. </P
|
><P
|
><P
|
>The default serial port settings are 38400,8,N,1. RedBoot runs from
|
>The default serial port settings are 38400,8,N,1. RedBoot runs from
|
and supports flash management for the system flash region. </P
|
and supports flash management for the system flash 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="AEN5932"><P
|
NAME="AEN5932"><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"
|
>ROM</TD
|
>ROM</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 board's flash boot
|
>RedBoot running from the board's flash boot
|
sector.</TD
|
sector.</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
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>WinCE</TD
|
>WinCE</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, started from
|
>RedBoot running from RAM, started from
|
<SPAN
|
<SPAN
|
CLASS="APPLICATION"
|
CLASS="APPLICATION"
|
>OSloader</SPAN
|
>OSloader</SPAN
|
>.</TD
|
>.</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>redboot_WinCE.ecm</TD
|
>redboot_WinCE.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="AEN5957">Initial Installation</H2
|
NAME="AEN5957">Initial Installation</H2
|
><P
|
><P
|
>RedBoot ROM and WinCE mode images are needed by the installation process.</P
|
>RedBoot ROM and WinCE mode images are needed by the installation process.</P
|
><DIV
|
><DIV
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><H3
|
><H3
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><A
|
><A
|
NAME="AEN5960">Installing RedBoot on the iPAQ using Windows/CE</H3
|
NAME="AEN5960">Installing RedBoot on the iPAQ using Windows/CE</H3
|
><P
|
><P
|
>The Windows/CE environment originally shipped with the iPAQ contains a hidden
|
>The Windows/CE environment originally shipped with the iPAQ contains a hidden
|
mini-loader, sometimes referred to as the "Parrot" loader. This loader can
|
mini-loader, sometimes referred to as the "Parrot" loader. This loader can
|
be started by holding down the action button (the joypad) while resetting
|
be started by holding down the action button (the joypad) while resetting
|
the unit or when powering on. At this point, a blue bird will appear on
|
the unit or when powering on. At this point, a blue bird will appear on
|
the LCD screen. Also at this point, a simple loader can be accessed over the
|
the LCD screen. Also at this point, a simple loader can be accessed over the
|
serial port at 115200/8N1. Using this loader, the contents of the iPAQ flash
|
serial port at 115200/8N1. Using this loader, the contents of the iPAQ flash
|
memory can be saved to a Compact Flash memory card.
|
memory can be saved to a Compact Flash memory card.
|
<DIV
|
<DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>NOTE: </B
|
>NOTE: </B
|
>We have only tested this operation with a 32Mbyte CF memory card.
|
>We have only tested this operation with a 32Mbyte CF memory card.
|
Given that the backup will take 16MBytes + 1KByte, something more than a 16MByte
|
Given that the backup will take 16MBytes + 1KByte, something more than a 16MByte
|
card will be required.</P
|
card will be required.</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
></P
|
></P
|
><P
|
><P
|
>Use the "r2c" command to dump Flash contents to the CF memory card. Once this
|
>Use the "r2c" command to dump Flash contents to the CF memory card. Once this
|
completes, RedBoot can be installed with no fear since the Parrot loader can
|
completes, RedBoot can be installed with no fear since the Parrot loader can
|
be used to restore the Flash contents at a later time.</P
|
be used to restore the Flash contents at a later time.</P
|
><P
|
><P
|
>If you expect to completely recover the state of the iPAQ Win/CE environment, then
|
>If you expect to completely recover the state of the iPAQ Win/CE environment, then
|
HotSync should be run to backup all "RAM" files as well before installing RedBoot.</P
|
HotSync should be run to backup all "RAM" files as well before installing RedBoot.</P
|
><P
|
><P
|
>The next step in installing RedBoot on the iPAQ actually involves Windows/CE,
|
>The next step in installing RedBoot on the iPAQ actually involves Windows/CE,
|
which is the native environment on the unit. Using WinCE, you need to
|
which is the native environment on the unit. Using WinCE, you need to
|
install an application which will run a RAM based version of RedBoot. Once
|
install an application which will run a RAM based version of RedBoot. Once
|
this is installed and running, RedBoot can be used to update the flash with
|
this is installed and running, RedBoot can be used to update the flash with
|
a native/ROM version of RedBoot. <P
|
a native/ROM version of RedBoot. <P
|
></P
|
></P
|
><UL
|
><UL
|
><LI
|
><LI
|
><P
|
><P
|
>Using ActiveSync, copy the file OSloader to your iPAQ. </P
|
>Using ActiveSync, copy the file OSloader to your iPAQ. </P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
>Using ActiveSync, copy the file redboot_WinCE.bin to the iPAQ
|
>Using ActiveSync, copy the file redboot_WinCE.bin to the iPAQ
|
as bootldr in its root directory. Note: this is not the top level folder
|
as bootldr in its root directory. Note: this is not the top level folder
|
displayed by Windows (Mobile Device), but rather the 'My Pocket PC' folder
|
displayed by Windows (Mobile Device), but rather the 'My Pocket PC' folder
|
within it.</P
|
within it.</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
>Execute OSloader. If you didn't create a shortcut, then you
|
>Execute OSloader. If you didn't create a shortcut, then you
|
will have to poke around for it using the WinCE file explorer.</P
|
will have to poke around for it using the WinCE file explorer.</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
>Choose the <SPAN
|
>Choose the <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Tools->BootLdr->Run after loading
|
>Tools->BootLdr->Run after loading
|
from file</SPAN
|
from file</SPAN
|
> menu item. </P
|
> menu item. </P
|
></LI
|
></LI
|
></UL
|
></UL
|
>At this point, the RAM based version of RedBoot should be running.
|
>At this point, the RAM based version of RedBoot should be running.
|
You should be able to return to this point by just executing the last two
|
You should be able to return to this point by just executing the last two
|
steps of the previous process if necessary.</P
|
steps of the previous process if necessary.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><H3
|
><H3
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><A
|
><A
|
NAME="AEN5979">Installing RedBoot on the iPAQ - using the Compaq boot loader</H3
|
NAME="AEN5979">Installing RedBoot on the iPAQ - using the Compaq boot loader</H3
|
><P
|
><P
|
>This method of installation is no longer supported.
|
>This method of installation is no longer supported.
|
If you have previously installed either the Compaq boot loader or older
|
If you have previously installed either the Compaq boot loader or older
|
versions of RedBoot, restore the Win/CE environment and proceed as outlined
|
versions of RedBoot, restore the Win/CE environment and proceed as outlined
|
above.</P
|
above.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><H3
|
><H3
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><A
|
><A
|
NAME="SETTING-UP-AND-TESTING-REDBOOT">Setting up and testing RedBoot</H3
|
NAME="SETTING-UP-AND-TESTING-REDBOOT">Setting up and testing RedBoot</H3
|
><P
|
><P
|
>When RedBoot first comes up, it will want to initialize its LCD touch
|
>When RedBoot first comes up, it will want to initialize its LCD touch
|
screen parameters. It does this by displaying a keyboard graphic and asks
|
screen parameters. It does this by displaying a keyboard graphic and asks
|
you to press certain keys. Using the stylus, press and hold until the prompt
|
you to press certain keys. Using the stylus, press and hold until the prompt
|
is withdrawn. When you lift the stylus, RedBoot will continue with the next
|
is withdrawn. When you lift the stylus, RedBoot will continue with the next
|
calibration. </P
|
calibration. </P
|
><P
|
><P
|
>Once the LCD touchscreen has been calibrated, RedBoot will start. The
|
>Once the LCD touchscreen has been calibrated, RedBoot will start. The
|
calibration step can be skipped by pressing the <SPAN
|
calibration step can be skipped by pressing the <SPAN
|
CLASS="GUIBUTTON"
|
CLASS="GUIBUTTON"
|
>return/abort</SPAN
|
>return/abort</SPAN
|
>
|
>
|
button on the unit (right most button with a curved arrow icon). Additionally,
|
button on the unit (right most button with a curved arrow icon). Additionally,
|
the unit will assume default values if the screen is not touched within about
|
the unit will assume default values if the screen is not touched within about
|
15 seconds. </P
|
15 seconds. </P
|
><P
|
><P
|
>Once RedBoot has started, you should get information similar to this
|
>Once RedBoot has started, you should get information similar to this
|
on the LCD screen. It will also appear on the serial port at 38400,8,N,1.
|
on the LCD screen. It will also appear on the serial port at 38400,8,N,1.
|
|
|
<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(tm) bootstrap and debug environment [ROM]
|
>RedBoot(tm) bootstrap and debug environment [ROM]
|
Non-certified release, version UNKNOWN - built 06:17:41, Mar 19 2001
|
Non-certified release, version UNKNOWN - built 06:17:41, Mar 19 2001
|
Platform: Compaq iPAQ Pocket PC (StrongARM 1110)
|
Platform: Compaq iPAQ Pocket PC (StrongARM 1110)
|
|
|
Copyright (C) 2000, 2001, Red Hat, Inc.
|
Copyright (C) 2000, 2001, Red Hat, Inc.
|
|
|
RAM: 0x00000000-0x01fc0000, 0x0001f200-0x01f70000 available
|
RAM: 0x00000000-0x01fc0000, 0x0001f200-0x01f70000 available
|
FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes
|
FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes
|
each.</PRE
|
each.</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
|
|
Since the LCD touchscreen is only 30 characters wide, some of this
|
Since the LCD touchscreen is only 30 characters wide, some of this
|
data will be off the right hand side of the display. The joypad may be
|
data will be off the right hand side of the display. The joypad may be
|
used to pan left and right in order to see the full lines. </P
|
used to pan left and right in order to see the full lines. </P
|
><P
|
><P
|
>If you have a Compact Flash ethernet card, RedBoot should find
|
>If you have a Compact Flash ethernet card, RedBoot should find
|
it. You'll need to have BOOTP enabled for this unit (see your
|
it. You'll need to have BOOTP enabled for this unit (see your
|
sysadmin for details). If it does, it will print a message like:
|
sysadmin for details). If it does, it will print a message like:
|
|
|
<TABLE
|
<TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="SCREEN"
|
CLASS="SCREEN"
|
>... Waiting for network card: .Ready!
|
>... Waiting for network card: .Ready!
|
Socket Communications Inc: CF+ LPE Revision E 08/04/99
|
Socket Communications Inc: CF+ LPE Revision E 08/04/99
|
IP: 192.168.1.34, Default server: 192.168.1.101</PRE
|
IP: 192.168.1.34, Default server: 192.168.1.101</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></P
|
></P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><H3
|
><H3
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><A
|
><A
|
NAME="IPAQ-INSTALL-RB-PERMANENTLY">Installing RedBoot permanently</H3
|
NAME="IPAQ-INSTALL-RB-PERMANENTLY">Installing RedBoot permanently</H3
|
><P
|
><P
|
>Once you are satisfied with the setup and that RedBoot is operating
|
>Once you are satisfied with the setup and that RedBoot is operating
|
properly in your environment, you can set up your iPAQ unit to have RedBoot
|
properly in your environment, you can set up your iPAQ unit to have RedBoot
|
be the bootstrap application.
|
be the bootstrap application.
|
|
|
<DIV
|
<DIV
|
CLASS="CAUTION"
|
CLASS="CAUTION"
|
><P
|
><P
|
></P
|
></P
|
><TABLE
|
><TABLE
|
CLASS="CAUTION"
|
CLASS="CAUTION"
|
BORDER="1"
|
BORDER="1"
|
WIDTH="100%"
|
WIDTH="100%"
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="CENTER"
|
ALIGN="CENTER"
|
><B
|
><B
|
>CAUTION</B
|
>CAUTION</B
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
><P
|
><P
|
>This step will destroy your Windows/CE environment.</P
|
>This step will destroy your Windows/CE environment.</P
|
><P
|
><P
|
>Before you take this step, it is strongly recommended you save your WinCE FLASH contents
|
>Before you take this step, it is strongly recommended you save your WinCE FLASH contents
|
as outlined above using the "parrot" loader, or
|
as outlined above using the "parrot" loader, or
|
by using the Compaq OSloader:<P
|
by using the Compaq OSloader:<P
|
></P
|
></P
|
><UL
|
><UL
|
><LI
|
><LI
|
><P
|
><P
|
>Using OSloader on the iPAQ, select the <SPAN
|
>Using OSloader on the iPAQ, select the <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Tools->Flash->Save
|
>Tools->Flash->Save
|
to files...</SPAN
|
to files...</SPAN
|
>. menu item.</P
|
>. menu item.</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
>Four (4) files, 4MB each in size will be created.</P
|
>Four (4) files, 4MB each in size will be created.</P
|
></LI
|
></LI
|
><LI
|
><LI
|
><P
|
><P
|
>After each file is created, copy the file to your computer,
|
>After each file is created, copy the file to your computer,
|
then delete the file from the iPAQ to make room in the WinCE ramdisk for the
|
then delete the file from the iPAQ to make room in the WinCE ramdisk for the
|
next file.</P
|
next file.</P
|
></LI
|
></LI
|
></UL
|
></UL
|
></P
|
></P
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
>You will need to download the version of RedBoot designed as the
|
>You will need to download the version of RedBoot designed as the
|
ROM bootstrap. Then install it permanently using these commands:
|
ROM bootstrap. Then install it permanently using these commands:
|
<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
|
>lo -r -b 0x100000 redboot_ROM.bin</B
|
>lo -r -b 0x100000 redboot_ROM.bin</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fi loc -f 0x50000000 -l 0x40000</B
|
>fi loc -f 0x50000000 -l 0x40000</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fis init</B
|
>fis init</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fi unl -f 0x50040000 -l 0x40000</B
|
>fi unl -f 0x50040000 -l 0x40000</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fi cr RedBoot -b 0x100000</B
|
>fi cr RedBoot -b 0x100000</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>fi loc -f 0x50040000 -l 0x40000</B
|
>fi loc -f 0x50040000 -l 0x40000</B
|
></TT
|
></TT
|
>
|
>
|
RedBoot> <TT
|
RedBoot> <TT
|
CLASS="USERINPUT"
|
CLASS="USERINPUT"
|
><B
|
><B
|
>reset</B
|
>reset</B
|
></TT
|
></TT
|
></PRE
|
></PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
>
|
>
|
|
|
<DIV
|
<DIV
|
CLASS="WARNING"
|
CLASS="WARNING"
|
><P
|
><P
|
></P
|
></P
|
><TABLE
|
><TABLE
|
CLASS="WARNING"
|
CLASS="WARNING"
|
BORDER="1"
|
BORDER="1"
|
WIDTH="100%"
|
WIDTH="100%"
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="CENTER"
|
ALIGN="CENTER"
|
><B
|
><B
|
>WARNING</B
|
>WARNING</B
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
><P
|
><P
|
>You must type these commands exactly! Failure to do so may render your
|
>You must type these commands exactly! Failure to do so may render your
|
iPAQ totally useless. Once you've done this, RedBoot should come up every
|
iPAQ totally useless. Once you've done this, RedBoot should come up every
|
time you reset.</P
|
time you reset.</P
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></P
|
></P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><H3
|
><H3
|
CLASS="SECT3"
|
CLASS="SECT3"
|
><A
|
><A
|
NAME="AEN6017">Restoring Windows/CE</H3
|
NAME="AEN6017">Restoring Windows/CE</H3
|
><P
|
><P
|
>To restore Windows/CE from the backup taken in <A
|
>To restore Windows/CE from the backup taken in <A
|
HREF="ipaq.html#IPAQ-INSTALL-RB-PERMANENTLY"
|
HREF="ipaq.html#IPAQ-INSTALL-RB-PERMANENTLY"
|
>the Section called <I
|
>the Section called <I
|
>Installing RedBoot permanently</I
|
>Installing RedBoot permanently</I
|
></A
|
></A
|
>,
|
>,
|
visit <A
|
visit <A
|
HREF="http://www.handhelds.org/projects/wincerestoration.html"
|
HREF="http://www.handhelds.org/projects/wincerestoration.html"
|
TARGET="_top"
|
TARGET="_top"
|
>http://www.handhelds.org/projects/wincerestoration.html</A
|
>http://www.handhelds.org/projects/wincerestoration.html</A
|
>
|
>
|
for directions.</P
|
for directions.</P
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN6022">Additional commands</H2
|
NAME="AEN6022">Additional commands</H2
|
><P
|
><P
|
>The <B
|
>The <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>exec</B
|
>exec</B
|
> command which allows the loading
|
> command which allows the loading
|
and execution of Linux kernels,
|
and execution of Linux kernels,
|
is supported for this board (see <A
|
is supported for this board (see <A
|
HREF="executing-programs.html"
|
HREF="executing-programs.html"
|
>the Section called <I
|
>the Section called <I
|
>Executing Programs from RedBoot</I
|
>Executing Programs from RedBoot</I
|
> in Chapter 2</A
|
> in Chapter 2</A
|
>). The <B
|
>). The <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>exec</B
|
>exec</B
|
> parameters used for the iPAQ are:</P
|
> parameters used for the iPAQ are:</P
|
><P
|
><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="VARIABLELIST"
|
CLASS="VARIABLELIST"
|
><DL
|
><DL
|
><DT
|
><DT
|
>-b <TT
|
>-b <TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
><addr></I
|
><addr></I
|
></TT
|
></TT
|
></DT
|
></DT
|
><DD
|
><DD
|
><P
|
><P
|
>Location Linux kernel was loaded to</P
|
>Location Linux kernel was loaded to</P
|
></DD
|
></DD
|
><DT
|
><DT
|
>-l <TT
|
>-l <TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
><len></I
|
><len></I
|
></TT
|
></TT
|
></DT
|
></DT
|
><DD
|
><DD
|
><P
|
><P
|
>Length of kernel</P
|
>Length of kernel</P
|
></DD
|
></DD
|
><DT
|
><DT
|
>-c <TT
|
>-c <TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
>"params"</I
|
>"params"</I
|
></TT
|
></TT
|
></DT
|
></DT
|
><DD
|
><DD
|
><P
|
><P
|
>Parameters passed to kernel</P
|
>Parameters passed to kernel</P
|
></DD
|
></DD
|
><DT
|
><DT
|
>-r <TT
|
>-r <TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
><addr></I
|
><addr></I
|
></TT
|
></TT
|
></DT
|
></DT
|
><DD
|
><DD
|
><P
|
><P
|
>'initrd' ramdisk location</P
|
>'initrd' ramdisk location</P
|
></DD
|
></DD
|
><DT
|
><DT
|
>-s <TT
|
>-s <TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
><len></I
|
><len></I
|
></TT
|
></TT
|
></DT
|
></DT
|
><DD
|
><DD
|
><P
|
><P
|
>Length of initrd ramdisk</P
|
>Length of initrd ramdisk</P
|
></DD
|
></DD
|
></DL
|
></DL
|
></DIV
|
></DIV
|
><P
|
><P
|
>Linux kernels may be run on the iPAQ using the sources from the anonymous
|
>Linux kernels may be run on the iPAQ using the sources from the anonymous
|
CVS repository at the Handhelds project (<A
|
CVS repository at the Handhelds project (<A
|
HREF="http://www.handhelds.org/"
|
HREF="http://www.handhelds.org/"
|
TARGET="_top"
|
TARGET="_top"
|
>http://www.handhelds.org/</A
|
>http://www.handhelds.org/</A
|
>) with
|
>) with
|
the <TT
|
the <TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>elinux.patch</TT
|
>elinux.patch</TT
|
> patch file applied. This file can be
|
> patch file applied. This file can be
|
found in the
|
found in the
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>misc/</TT
|
>misc/</TT
|
> subdirectory of the iPAQ platform HAL in the
|
> subdirectory of the iPAQ platform HAL in the
|
RedBoot sources, normally
|
RedBoot sources, normally
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>hal/arm/sa11x0/ipaq/<TT
|
>hal/arm/sa11x0/ipaq/<TT
|
CLASS="REPLACEABLE"
|
CLASS="REPLACEABLE"
|
><I
|
><I
|
>VERSION</I
|
>VERSION</I
|
></TT
|
></TT
|
>/misc/</TT
|
>/misc/</TT
|
>
|
>
|
</P
|
</P
|
><P
|
><P
|
>On the iPAQ (and indeed all SA11x0 platforms), Linux expects to be loaded
|
>On the iPAQ (and indeed all SA11x0 platforms), Linux expects to be loaded
|
at address 0xC0008000 and the entry point is also at 0xC0008000.</P
|
at address 0xC0008000 and the entry point is also at 0xC0008000.</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN6061">Memory Maps</H2
|
NAME="AEN6061">Memory Maps</H2
|
><P
|
><P
|
>RedBoot sets up the following memory map on the iPAQ: The first level
|
>RedBoot sets up the following memory map on the iPAQ: The first level
|
page table is located at physical address 0xC0004000. No second level tables
|
page table is located at physical address 0xC0004000. No second level tables
|
are used. <DIV
|
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 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
|
0x00000000 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
|
0x000000 - 0x0003ffff Parrot Loader
|
0x000000 - 0x0003ffff Parrot Loader
|
0x040000 - 0x0007ffff RedBoot
|
0x040000 - 0x0007ffff RedBoot
|
0xf80000 - 0x00fbffff Fconfig data
|
0xf80000 - 0x00fbffff Fconfig data
|
0xfc0000 - 0x00ffffff FIS directory
|
0xfc0000 - 0x00ffffff FIS directory
|
0x30000000 - 0x3fffffff Compact Flash
|
0x30000000 - 0x3fffffff Compact Flash
|
0x48000000 - 0x4bffffff iPAQ internal registers
|
0x48000000 - 0x4bffffff iPAQ internal registers
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
|
0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
|
0xe0000000 - 0xe7ffffff Cache Clean
|
0xe0000000 - 0xe7ffffff Cache Clean
|
|
|
|
|
Virtual Address Range C B Description
|
Virtual Address Range C B Description
|
----------------------- - - ----------------------------------
|
----------------------- - - ----------------------------------
|
0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
|
0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
|
0x30000000 - 0x3fffffff N N Compact Flash
|
0x30000000 - 0x3fffffff N N Compact Flash
|
0x48000000 - 0x4bffffff N N iPAQ internal registers
|
0x48000000 - 0x4bffffff N N iPAQ internal registers
|
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 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
|
0xc0000000 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean </PRE
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean </PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
> </P
|
> </P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><H2
|
><H2
|
CLASS="SECT2"
|
CLASS="SECT2"
|
><A
|
><A
|
NAME="AEN6068">Rebuilding RedBoot</H2
|
NAME="AEN6068">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=ipaq
|
>export TARGET=ipaq
|
export ARCH_DIR=arm
|
export ARCH_DIR=arm
|
export PLATFORM_DIR=sa11x0/ipaq</PRE
|
export PLATFORM_DIR=sa11x0/ipaq</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="nano.html"
|
HREF="nano.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="cerfcube.html"
|
HREF="cerfcube.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(SA11X0) Bright Star Engineering commEngine and nanoEngine</TD
|
>ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</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) Intrinsyc CerfCube</TD
|
>ARM/StrongARM(SA11X0) Intrinsyc CerfCube</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|