<!-- 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
|
>Configuring and Building eCos from Source</TITLE
|
>Configuring and Building eCos from Source</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 User Guide"
|
TITLE="eCos User Guide"
|
HREF="ecos-user-guide.html"><LINK
|
HREF="ecos-user-guide.html"><LINK
|
REL="UP"
|
REL="UP"
|
TITLE="Programming With eCos"
|
TITLE="Programming With eCos"
|
HREF="user-guide-programming.html"><LINK
|
HREF="user-guide-programming.html"><LINK
|
REL="PREVIOUS"
|
REL="PREVIOUS"
|
TITLE="Programming With eCos"
|
TITLE="Programming With eCos"
|
HREF="programming-with-ecos.html"><LINK
|
HREF="programming-with-ecos.html"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="Configuration Tool on Windows and Linux Quick Start"
|
TITLE="Configuration Tool on Windows and Linux Quick Start"
|
HREF="using-configtool-windows-linux.html"></HEAD
|
HREF="using-configtool-windows-linux.html"></HEAD
|
><BODY
|
><BODY
|
CLASS="CHAPTER"
|
CLASS="CHAPTER"
|
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 User Guide</TH
|
>eCos User Guide</TH
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="programming-with-ecos.html"
|
HREF="programming-with-ecos.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"
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="using-configtool-windows-linux.html"
|
HREF="using-configtool-windows-linux.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="CHAPTER"
|
CLASS="CHAPTER"
|
><H1
|
><H1
|
><A
|
><A
|
NAME="CONFIGURING-AND-BUILDING-ECOS-FROM-SOURCE">Chapter 11. Configuring and Building <SPAN
|
NAME="CONFIGURING-AND-BUILDING-ECOS-FROM-SOURCE">Chapter 11. Configuring and Building <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
> from Source</H1
|
> from Source</H1
|
><DIV
|
><DIV
|
CLASS="TOC"
|
CLASS="TOC"
|
><DL
|
><DL
|
><DT
|
><DT
|
><B
|
><B
|
>Table of Contents</B
|
>Table of Contents</B
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="configuring-and-building-ecos-from-source.html#ECOS-STARTUP-CONFIGS"
|
HREF="configuring-and-building-ecos-from-source.html#ECOS-STARTUP-CONFIGS"
|
><SPAN
|
><SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
> Start-up Configurations</A
|
> Start-up Configurations</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="using-configtool-windows-linux.html"
|
HREF="using-configtool-windows-linux.html"
|
>Configuration Tool on Windows and Linux Quick Start</A
|
>Configuration Tool on Windows and Linux Quick Start</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="using-ecosconfig-on-linux.html"
|
HREF="using-ecosconfig-on-linux.html"
|
>Ecosconfig on Windows and Linux Quick Start</A
|
>Ecosconfig on Windows and Linux Quick Start</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DIV
|
></DIV
|
><P
|
><P
|
>This chapter documents the configuration of <SPAN
|
>This chapter documents the configuration of <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
>. The process is
|
>. The process is
|
the same for any of the supported targets: you may select a
|
the same for any of the supported targets: you may select a
|
hardware target (if you have a board available), any one of the
|
hardware target (if you have a board available), any one of the
|
simulators, or a synthetic target (if your host platform has synthetic
|
simulators, or a synthetic target (if your host platform has synthetic
|
target support).</P
|
target support).</P
|
><DIV
|
><DIV
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><H1
|
><H1
|
CLASS="SECT1"
|
CLASS="SECT1"
|
><A
|
><A
|
NAME="ECOS-STARTUP-CONFIGS"><SPAN
|
NAME="ECOS-STARTUP-CONFIGS"><SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
> Start-up Configurations</H1
|
> Start-up Configurations</H1
|
><P
|
><P
|
>There are various ways to download an executable image to a
|
>There are various ways to download an executable image to a
|
target board, and these involve different ways of preparing the
|
target board, and these involve different ways of preparing the
|
executable image. In the <SPAN
|
executable image. In the <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
> Hardware Abstraction Layer (HAL package)
|
> Hardware Abstraction Layer (HAL package)
|
there are configuration options to support the different download
|
there are configuration options to support the different download
|
methods. <A
|
methods. <A
|
HREF="configuring-and-building-ecos-from-source.html#USER-GUIDE-DOWNLOAD-METHODS"
|
HREF="configuring-and-building-ecos-from-source.html#USER-GUIDE-DOWNLOAD-METHODS"
|
>Table 11-1</A
|
>Table 11-1</A
|
> summarizes the
|
> summarizes the
|
ways in which an <SPAN
|
ways in which an <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
> image can be prepared for different types of
|
> image can be prepared for different types of
|
download. This is not an exhaustive list, some targets define
|
download. This is not an exhaustive list, some targets define
|
additional start-up types of their own. Where a ROM Monitor is
|
additional start-up types of their own. Where a ROM Monitor is
|
mentioned, this will usually be RedBoot, although on some older, or
|
mentioned, this will usually be RedBoot, although on some older, or
|
low resource, targets you may need to use CygMon or the GDB stubs ROM,
|
low resource, targets you may need to use CygMon or the GDB stubs ROM,
|
see the target documentation for details.</P
|
see the target documentation for details.</P
|
><DIV
|
><DIV
|
CLASS="TABLE"
|
CLASS="TABLE"
|
><A
|
><A
|
NAME="USER-GUIDE-DOWNLOAD-METHODS"><P
|
NAME="USER-GUIDE-DOWNLOAD-METHODS"><P
|
><B
|
><B
|
>Table 11-1. Configuration for various download methods</B
|
>Table 11-1. Configuration for various download methods</B
|
></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"
|
>Download method</TH
|
>Download method</TH
|
><TH
|
><TH
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>HAL configuration</TH
|
>HAL configuration</TH
|
></TR
|
></TR
|
></THEAD
|
></THEAD
|
><TBODY
|
><TBODY
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Burn hardware ROM</TD
|
>Burn hardware ROM</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> ROM or ROMRAM start-up</TD
|
> ROM or ROMRAM start-up</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Download to ROM emulator</TD
|
>Download to ROM emulator</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> ROM or ROMRAM start-up</TD
|
> ROM or ROMRAM start-up</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Download to board with ROM Monitor</TD
|
>Download to board with ROM Monitor</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> RAM start-up</TD
|
> RAM start-up</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Download to simulator without ROM Monitor</TD
|
>Download to simulator without ROM Monitor</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> ROM start-up</TD
|
> ROM start-up</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Download to simulator with ROM Monitor</TD
|
>Download to simulator with ROM Monitor</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> RAM start-up</TD
|
> RAM start-up</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Download to simulator ignoring devices</TD
|
>Download to simulator ignoring devices</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> SIM configuration</TD
|
> SIM configuration</TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
>Run synthetic target</TD
|
>Run synthetic target</TD
|
><TD
|
><TD
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
VALIGN="TOP"
|
VALIGN="TOP"
|
> RAM start-up</TD
|
> RAM start-up</TD
|
></TR
|
></TR
|
></TBODY
|
></TBODY
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
><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
|
>You cannot run an application configured for RAM start-up
|
>You cannot run an application configured for RAM start-up
|
on the simulator directly: it will fail during start-up. You can
|
on the simulator directly: it will fail during start-up. You can
|
only download it to the simulator if
|
only download it to the simulator if
|
you are already running RedBoot in the simulator,
|
you are already running RedBoot in the simulator,
|
as described in the toolchain documentation
|
as described in the toolchain documentation
|
or you load through the
|
or you load through the
|
<SPAN
|
<SPAN
|
CLASS="emphasis"
|
CLASS="emphasis"
|
><I
|
><I
|
CLASS="EMPHASIS"
|
CLASS="EMPHASIS"
|
>SID </I
|
>SID </I
|
></SPAN
|
></SPAN
|
>
|
>
|
GDB debugging component. This is not the same as the simulated
|
GDB debugging component. This is not the same as the simulated
|
stub, since it does not require a target program to be running to
|
stub, since it does not require a target program to be running to
|
get GDB to talk to it. It can be done before letting the simulator
|
get GDB to talk to it. It can be done before letting the simulator
|
run
|
run
|
or you use the ELF loader component to get a program into memory.</P
|
or you use the ELF loader component to get a program into memory.</P
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>Note: </B
|
>Note: </B
|
>Configuring <SPAN
|
>Configuring <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
>' HAL package for simulation should
|
>' HAL package for simulation should
|
rarely be needed for real development; binaries built with such
|
rarely be needed for real development; binaries built with such
|
a kernel will not run on target boards at all,
|
a kernel will not run on target boards at all,
|
and the MN10300 and
|
and the MN10300 and
|
TX39 simulators can run binaries built for stdeval1 and jmr3904
|
TX39 simulators can run binaries built for stdeval1 and jmr3904
|
target boards.
|
target boards.
|
The main use for a ``simulation'' configuration
|
The main use for a ``simulation'' configuration
|
is if you are trying to work around problems with the device drivers
|
is if you are trying to work around problems with the device drivers
|
or with the simulator. Also note that when using a TX39 system configured
|
or with the simulator. Also note that when using a TX39 system configured
|
for simulator start-up you should then invoke the simulator with
|
for simulator start-up you should then invoke the simulator with
|
the <TT
|
the <TT
|
CLASS="OPTION"
|
CLASS="OPTION"
|
>--board=jmr3904pal</TT
|
>--board=jmr3904pal</TT
|
>
|
>
|
option instead of
|
option instead of
|
<TT
|
<TT
|
CLASS="OPTION"
|
CLASS="OPTION"
|
>--board=jmr3904</TT
|
>--board=jmr3904</TT
|
></P
|
></P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>Note: </B
|
>Note: </B
|
>If your chosen architecture does not have simulator support,
|
>If your chosen architecture does not have simulator support,
|
then the combinations above that refer to the simulator do not apply.
|
then the combinations above that refer to the simulator do not apply.
|
Similarly, if your chosen platform does not have RedBoot
|
Similarly, if your chosen platform does not have RedBoot
|
ROM support, the combinations listed above that use
|
ROM support, the combinations listed above that use
|
RedBoot do not apply.</P
|
RedBoot do not apply.</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
><P
|
><P
|
>The debugging environment for most developers will be either
|
>The debugging environment for most developers will be either
|
a hardware board or the simulator, in which case they will be able
|
a hardware board or the simulator, in which case they will be able
|
to select a single HAL configuration.</P
|
to select a single HAL configuration.</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="programming-with-ecos.html"
|
HREF="programming-with-ecos.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-user-guide.html"
|
HREF="ecos-user-guide.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="using-configtool-windows-linux.html"
|
HREF="using-configtool-windows-linux.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"
|
>Programming With <SPAN
|
>Programming With <SPAN
|
CLASS="PRODUCTNAME"
|
CLASS="PRODUCTNAME"
|
>eCos</SPAN
|
>eCos</SPAN
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="user-guide-programming.html"
|
HREF="user-guide-programming.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"
|
>Configuration Tool on Windows and Linux Quick Start</TD
|
>Configuration Tool on Windows and Linux Quick Start</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|