forked from Imagelibrary/rtems
Numerous changes based on comments from Stephan Wilms <Stephan.Wilms@CWA.de>
including a new section in the Getting Started called "Where to Go From Here", lots of index entries added, and more configuration table information.
This commit is contained in:
@@ -17,7 +17,7 @@ include $(top_srcdir)/project.am
|
||||
COMMON_FILES=$(top_srcdir)/common/cpright.texi $(top_builddir)/common/setup.texi
|
||||
|
||||
GENERATED_FILES= binaries.texi buildc.texi buildrt.texi gdb.texi intro.texi \
|
||||
nt.texi require.texi sample.texi
|
||||
nt.texi require.texi nextstep.texi sample.texi
|
||||
|
||||
FILES= tversions.texi
|
||||
|
||||
@@ -30,7 +30,7 @@ intro.texi: intro.t tversions.texi
|
||||
-n "Requirements" $<
|
||||
|
||||
require.texi: require.t tversions.texi
|
||||
$(BMENU) -c -p "EGCS Mailing List" \
|
||||
$(BMENU) -c -p "GCC Mailing Lists" \
|
||||
-u "Top" \
|
||||
-n "Prebuilt Toolset Executables" $<
|
||||
|
||||
@@ -56,11 +56,16 @@ sample.texi: sample.t tversions.texi
|
||||
|
||||
gdb.texi: gdb.t tversions.texi
|
||||
$(BMENU) -c -p "Application Executable" \
|
||||
-u "Top" \
|
||||
-n "Where To Go From Here" $<
|
||||
|
||||
nextstep.texi: nextstep.t tversions.texi
|
||||
$(BMENU) -c -p "GDB for DINK32" \
|
||||
-u "Top" \
|
||||
-n "Using MS-Windows as a Development Host" $<
|
||||
|
||||
nt.texi: nt.t tversions.texi
|
||||
$(BMENU) -c -p "GDB for DINK32" \
|
||||
$(BMENU) -c -p "Where To Go From Here" \
|
||||
-u "Top" \
|
||||
-n "" $<
|
||||
|
||||
|
||||
@@ -157,10 +157,9 @@ which aid in building the tools and RTEMS. They are:
|
||||
@end itemize
|
||||
|
||||
When the @code{bit} script is executed later in this process,
|
||||
it will automatically create two other subdirectories:
|
||||
it will automatically create this subdirectory:
|
||||
|
||||
@itemize @bullet
|
||||
@item src
|
||||
@item build-$@{CPU@}-tools
|
||||
@end itemize
|
||||
|
||||
@@ -195,7 +194,6 @@ The tree should look something like the following figure:
|
||||
@value{BINUTILS-UNTAR}/
|
||||
@value{GCC-UNTAR}/
|
||||
@value{NEWLIB-UNTAR}/
|
||||
@value{RTEMS-UNTAR}/
|
||||
bit
|
||||
bit_gdb
|
||||
bit_rtems
|
||||
@@ -250,12 +248,25 @@ to at least GNU fileutile version 3.16 to resolve this problem.
|
||||
Each of the tools in the GNU development suite comes with documentation.
|
||||
It is in the reader's and tool maintainers' interest that one read the
|
||||
documentation before posting a problem to a mailing list or news group.
|
||||
Much of that documentation is available on-line. The following is
|
||||
a list of URLs where can find HTML versions of the manuals.
|
||||
|
||||
@table @b
|
||||
GCC Documentation
|
||||
http://gcc.gnu.org/onlinedocs
|
||||
|
||||
Newlib Documentation
|
||||
Not currently online at http://sourceware.cygnus.com/newlib
|
||||
|
||||
Binutils Documentation
|
||||
Not currently online at http://sourceware.cygnus.com/binutils
|
||||
@end table
|
||||
|
||||
@c
|
||||
@c EGCS patches
|
||||
@c GCC patches
|
||||
@c
|
||||
|
||||
@section Apply RTEMS Patch to EGCS
|
||||
@section Apply RTEMS Patch to GCC
|
||||
|
||||
@ifclear GCC-RTEMSPATCH
|
||||
No RTEMS specific patches are required for @value{GCC-VERSION} to
|
||||
@@ -396,7 +407,9 @@ NEWLIB=@value{NEWLIB-UNTAR}
|
||||
@end example
|
||||
|
||||
@item BUILD_DOCS
|
||||
is set to "yes" if you want to install documentation.
|
||||
is set to "yes" if you want to install documentation. This requires
|
||||
that tools supporting documentation production be installed. This
|
||||
currently is limited to the GNU texinfo package.
|
||||
For example:
|
||||
|
||||
@example
|
||||
@@ -405,7 +418,10 @@ BUILD_DOCS=yes
|
||||
|
||||
@item BUILD_OTHER_LANGUAGES
|
||||
is set to "yes" if you want to build languages other than C and C++. At
|
||||
the current time, this enables Fortan and Objective-C.
|
||||
the current time, the set of alternative languages includes Java, Fortran,
|
||||
and Objective-C. These alternative languages do not always build cross.
|
||||
Hence this option defaults to "no".
|
||||
|
||||
For example:
|
||||
|
||||
@example
|
||||
@@ -427,9 +443,28 @@ At this time, this feature is not supported by the UNIX ports of RTEMS
|
||||
and is forced to "no" for those targets. This corresponds to the
|
||||
@code{configure} option @code{--enable-posix}.
|
||||
|
||||
@item ENABLE_RTEMS_ITRON
|
||||
is set to "yes" if you want to enable the RTEMS ITRON API support.
|
||||
At this time, this feature is not supported by the UNIX ports of RTEMS
|
||||
and is forced to "no" for those targets. This corresponds to the
|
||||
@code{configure} option @code{--enable-itron}.
|
||||
|
||||
@item ENABLE_RTEMS_MP
|
||||
is set to "yes" if you want to enable the RTEMS multiprocessing
|
||||
support. This feature is not supported by all RTEMS BSPs and
|
||||
is automatically forced to "no" for those BSPs. This corresponds to the
|
||||
@code{configure} option @code{--enable-multiprocessing}.
|
||||
|
||||
@item ENABLE_RTEMS_CXX
|
||||
is set to "yes" if you want to build the RTEMS C++ support including
|
||||
the C++ Wrapper for the Classic API. This corresponds to the
|
||||
@code{configure} option @code{--enable-cxx}.
|
||||
|
||||
@item ENABLE_RTEMS_TESTS
|
||||
is set to "yes" if you want to build the RTEMS Test Suite. If this
|
||||
is set to "no", then only the Sample Tests will be built.
|
||||
is set to "no", then only the Sample Tests will be built. Setting
|
||||
this option to "yes" significantly increases the amount of disk
|
||||
space required to build RTEMS.
|
||||
This corresponds to the @code{configure} option @code{--enable-tests}.
|
||||
|
||||
@item ENABLE_RTEMS_TCPIP
|
||||
@@ -438,10 +473,36 @@ particular BSP does not support TCP/IP, then this feature is automatically
|
||||
disabled. This corresponds to the @code{configure} option
|
||||
@code{--enable-tcpip}.
|
||||
|
||||
@item ENABLE_RTEMS_CXX
|
||||
is set to "yes" if you want to build the RTEMS C++ support including
|
||||
the C++ Wrapper for the Classic API. This corresponds to the
|
||||
@code{configure} option @code{--enable-cxx}.
|
||||
@item ENABLE_RTEMS_NONDEBUG
|
||||
is set to "yes" if you want to build RTEMS in a fully optimized
|
||||
state. This corresponds to executing @code{make} after configuring
|
||||
the source tree.
|
||||
|
||||
@item ENABLE_RTEMS_DEBUG
|
||||
is set to "yes" if you want to build RTEMS in a debug version.
|
||||
When built for debug, RTEMS will include run-time code to
|
||||
perform consistency checks such as heap consistency checks.
|
||||
Although the precise compilation arguments are BSP dependent,
|
||||
the debug version of RTEMS is usually built at a lower optimization
|
||||
level. This is usually done to reduce inlining which can make
|
||||
tracing code execution difficult. This corresponds to executing
|
||||
@code{make VARIANT=debug} after configuring
|
||||
the source tree.
|
||||
|
||||
@item INSTALL_RTEMS
|
||||
is set to "yes" if you want to install RTEMS after building it.
|
||||
This corresponds to executing @code{make install} after configuring
|
||||
and building the source tree.
|
||||
|
||||
@item ENABLE_RTEMS_MAINTAINER_MODE
|
||||
is set to "yes" if you want to enabled maintainer mode functionality
|
||||
in the RTEMS Makefile. This is disabled by default and it is not
|
||||
expected that most users will want to enable this. When this option
|
||||
is enabled, the build process may attempt to regenerate files that
|
||||
require tools not required when this option is disabled.
|
||||
This corresponds to the @code{configure} option
|
||||
@code{--enable-maintainer-mode}.
|
||||
|
||||
@end table
|
||||
|
||||
@section Running the bit Script
|
||||
@@ -470,12 +531,21 @@ Where <target configuration> is one of the following:
|
||||
@item sparc
|
||||
@end itemize
|
||||
|
||||
The build process can take a while to complete. Many users find it
|
||||
handy to run the build process in the background, capture the output
|
||||
in a file, and monitor the output. This can be done as follows:
|
||||
|
||||
@example
|
||||
./bit_ada <target configuration> >bit.log 2>&1 &
|
||||
tail -f bit.log
|
||||
@end example
|
||||
|
||||
If no errors are encountered, the @code{bit} script will conclude by
|
||||
printing messages similar to the following:
|
||||
|
||||
@example
|
||||
|
||||
The src and build-i386-tools subdirectory may now be removed.
|
||||
The build-i386-tools subdirectory may now be removed.
|
||||
|
||||
Started: Fri Apr 10 10:14:07 CDT 1998
|
||||
Finished: Fri Apr 10 12:01:33 CDT 1998
|
||||
@@ -523,6 +593,10 @@ in your PATH. As a general rule, including "." in your PATH
|
||||
is a security risk and should be avoided. Remove "." from
|
||||
your PATH.
|
||||
|
||||
NOTE: In some environments, it may be difficult remove "."
|
||||
completely from your PATH. In this case, make sure that "."
|
||||
is after the system directories containing "as" and "ld".
|
||||
|
||||
@subsection Error Messages Indicating Configuration Problems
|
||||
|
||||
If you see error messages like the following,
|
||||
|
||||
@@ -102,6 +102,8 @@ tools/@value{RTEMS-UNTAR}/README.configure
|
||||
in the RTEMS source tree. If the BSP parameter is not specified,
|
||||
then all supported BSPs for the selected CPU family will be built.
|
||||
|
||||
@b{NOTE:} The POSIX API must be enabled to use GNAT/RTEMS.
|
||||
|
||||
@subsection Using the RTEMS configure Script Directly
|
||||
|
||||
Make a build directory under tools and build the RTEMS product in this
|
||||
@@ -112,6 +114,10 @@ comes with the RTEMS distribution. In the installation described in the
|
||||
section "Unpack the RTEMS source", these configuration options can be found
|
||||
in the file tools/@value{RTEMS-UNTAR}/README.configure.
|
||||
|
||||
The GNAT/RTEMS run-time implementation is based on the POSIX API. Thus
|
||||
the RTEMS configuration for a GNAT/RTEMS environment MUST include the
|
||||
@code{--enable-posix} flag.
|
||||
|
||||
The following shows the command sequence required to configure,
|
||||
compile, and install RTEMS with the POSIX API, FreeBSD TCP/IP,
|
||||
and C++ support disabled. RTEMS will be built to target
|
||||
|
||||
@@ -149,15 +149,11 @@ The crossgcc FAQ as well as a number of patches and utiliities
|
||||
of interest to cross development system users are available
|
||||
at ftp://ftp.cygnus.com/pub/embedded/crossgcc.
|
||||
|
||||
@subsection EGCS Mailing List
|
||||
@subsection GCC Mailing Lists
|
||||
|
||||
egcs@@cygnus.com
|
||||
See http://gcc.gnu.org for details.
|
||||
|
||||
This mailing list is dedicated to the EGCS Project which was
|
||||
formed to speed the development and integration of the various
|
||||
GNU languages. The RTEMS and Linux communities were among those
|
||||
initially targetted by the EGCS Project as being important
|
||||
for its success. Numerous RTEMS users have made contributions
|
||||
to this project. Subscribe by sending a message with
|
||||
the one line "subscribe" to egcs-request@@cygnus.com.
|
||||
The GCC Project maintains multiple mailing lists. They
|
||||
are described at the above web site along with subscription
|
||||
information.
|
||||
|
||||
|
||||
@@ -267,16 +267,16 @@ the Cygwin32 environment with the new path.
|
||||
@end enumerate
|
||||
|
||||
@c
|
||||
@c EGCS
|
||||
@c GCC
|
||||
@c
|
||||
|
||||
@section Installing EGCS AND NEWLIB
|
||||
@section Installing GCC AND NEWLIB
|
||||
|
||||
@enumerate
|
||||
@item Unarchive and patch @value{EGCS-TAR} and @value{NEWLIB-TAR}
|
||||
@item Unarchive and patch @value{GCC-TAR} and @value{NEWLIB-TAR}
|
||||
following the instructions in @ref{Unarchiving the Tools}.
|
||||
Apply the appropriate RTEMS specific patches as detailed in
|
||||
@ref{Apply RTEMS Patch to EGCS} and @ref{Apply RTEMS Patch to newlib}.
|
||||
@ref{Apply RTEMS Patch to GCC} and @ref{Apply RTEMS Patch to newlib}.
|
||||
|
||||
@b{NOTE}: See @ref{Bug in Patch Utility}.
|
||||
|
||||
@@ -291,7 +291,7 @@ or Objective-C as Cygwin32 cross-compilers):
|
||||
|
||||
@b{NOTE}: See @ref{Bug in Patch Utility}.
|
||||
|
||||
@item Link the following directories from Newlib to the main EGCS directory,
|
||||
@item Link the following directories from Newlib to the main GCC directory,
|
||||
/source/@value{GCC-UNTAR}/ :
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@@ -16,18 +16,38 @@ assessing the amount of disk space required for your installation:
|
||||
+------------------------------------+--------------------------+
|
||||
| Component | Disk Space Required |
|
||||
+------------------------------------+--------------------------+
|
||||
| archive directory | 30 Mbytes |
|
||||
| tools src unzipped | 100 Mbytes |
|
||||
| each individual build directory | 300 Mbytes worst case |
|
||||
| each installation directory | 20-400 Mbytes |
|
||||
| archive directory | 35 Mbytes |
|
||||
| tools src unarchived | 150 Mbytes |
|
||||
| each individual build directory | 300 Mbytes |
|
||||
| each installation directory | 20-200 Mbytes |
|
||||
+------------------------------------+--------------------------+
|
||||
@end example
|
||||
|
||||
The disk space required for each installation directory depends
|
||||
primarily on the number of RTEMS BSPs which are to be installed.
|
||||
If a single BSP is installed, then the size of each install directory
|
||||
It is important to understand that the above requirements only address
|
||||
the GNU C/C++ Cross Compiler Tools themselves. Adding additional
|
||||
languages such as Fortran or Objective-C can increase the size
|
||||
of the build and installation directories. Also, the unarchived
|
||||
source and build directories can be removed after the tools are
|
||||
installed.
|
||||
|
||||
After the tools themselves are installed, RTEMS must be built
|
||||
and installed for each Board Support Package that you wish
|
||||
to use. Thus the precise amount of disk space required
|
||||
for each installation directory depends highly on the number
|
||||
of RTEMS BSPs which are to be installed. If a single BSP is
|
||||
installed, then the additional size of each install directory
|
||||
will tend to be in the 40-60 Mbyte range.
|
||||
|
||||
There are a number of factors which must be taken into
|
||||
account in oreder to estimate the amount of disk space required
|
||||
to build RTEMS itself. Attempting to build multiple BSPs in
|
||||
a single step increases the disk space requirements. Similarly
|
||||
enabling optional features increases the build and install
|
||||
space requirements. In particular, enabling and building
|
||||
the RTEMS tests results in a significant increase in build
|
||||
space requirements but since the test are not installed has
|
||||
no impact on installation requirements.
|
||||
|
||||
The instructions in this manual should work on any computer running
|
||||
a UNIX variant. Some native GNU tools are used by this procedure
|
||||
including:
|
||||
|
||||
@@ -74,6 +74,7 @@ END-INFO-DIR-ENTRY
|
||||
@include buildrt.texi
|
||||
@include sample.texi
|
||||
@include gdb.texi
|
||||
@include nextstep.texi
|
||||
@include nt.texi
|
||||
|
||||
@ifinfo
|
||||
@@ -90,6 +91,7 @@ This is the online version of the Getting Started with RTEMS for C/C++ Users.
|
||||
* Building RTEMS::
|
||||
* Building the Sample Application::
|
||||
* Building the GNU Debugger::
|
||||
* Where To Go From Here::
|
||||
* Using MS-Windows as a Development Host::
|
||||
@end menu
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
@set GCC-FTPSITE gcc.gnu.org
|
||||
@set GCC-FTPDIR /pub/gcc/gcc-2.95.2
|
||||
@set GCC-HTTPDIR /pub/gcc/releases/index.html
|
||||
@set GCC-RTEMSPATCH gcc-2.95.2-rtems-20000106.diff
|
||||
@set GCC-RTEMSPATCH gcc-2.95.2-rtems-20000427.diff.gz
|
||||
|
||||
@c
|
||||
@c BINUTILS Version
|
||||
@@ -42,12 +42,12 @@
|
||||
@c @set BINUTILS-RTEMSPATCH binutils-2.9.1-rtems-diff-19981012.gz
|
||||
|
||||
@c The "official" Linux binutils
|
||||
@set BINUTILS-VERSION binutils 2.9.5.0.22
|
||||
@set BINUTILS-TAR binutils-2.9.5.0.22.tar.gz
|
||||
@set BINUTILS-UNTAR binutils-2.9.5.0.22
|
||||
@set BINUTILS-VERSION binutils 2.9.5.0.24
|
||||
@set BINUTILS-TAR binutils-2.9.5.0.24.tar.gz
|
||||
@set BINUTILS-UNTAR binutils-2.9.5.0.24
|
||||
@set BINUTILS-FTPSITE ftp.varesearch.com
|
||||
@set BINUTILS-FTPDIR /pub/support/hjl/binutils
|
||||
@set BINUTILS-RTEMSPATCH binutils-2.9.5.0.22-rtems-20000114.diff
|
||||
@set BINUTILS-RTEMSPATCH binutils-2.9.5.0.24-rtems-20000207.diff.gz
|
||||
|
||||
@c When forced to use a snapshot
|
||||
@c @set BINUTILS-VERSION gas 980314
|
||||
@@ -61,12 +61,13 @@
|
||||
@c NEWLIB Version
|
||||
@c
|
||||
|
||||
|
||||
@set NEWLIB-VERSION newlib 1.8.2
|
||||
@set NEWLIB-TAR newlib-1.8.2.tar.gz
|
||||
@set NEWLIB-UNTAR newlib-1.8.2
|
||||
@set NEWLIB-FTPSITE sourceware.cygnus.com
|
||||
@set NEWLIB-FTPDIR /pub/newlib
|
||||
@set NEWLIB-RTEMSPATCH newlib-1.8.2-rtems-20000104.diff
|
||||
@set NEWLIB-RTEMSPATCH newlib-1.8.2-rtems-20000501.diff.gz
|
||||
|
||||
@c
|
||||
@c GDB Version
|
||||
@@ -77,16 +78,17 @@
|
||||
@set GDB-UNTAR gdb-4.18
|
||||
@set GDB-FTPSITE ftp.gnu.org
|
||||
@set GDB-FTPDIR /pub/gnu/gdb
|
||||
@set GDB-RTEMSPATCH gdb-4.18-rtems-20000107.diff
|
||||
@set GDB-RTEMSPATCH gdb-4.18-rtems-20000502.diff.gz
|
||||
|
||||
@c
|
||||
@c RTEMS Version
|
||||
@c
|
||||
|
||||
@set RTEMS-VERSION RTEMS 4.5.0-beta
|
||||
@set RTEMS-TAR rtems-4.5.0-beta.tgz
|
||||
@set RTEMS-UNTAR rtems-4.5.0-beta
|
||||
@set RTEMS-VERSION RTEMS 4.5.0-beta2
|
||||
@set RTEMS-TAR rtems-4.5.0-beta2.tgz
|
||||
@set RTEMS-UNTAR rtems-4.5.0-beta2
|
||||
@set RTEMS-FTPSITE ftp.OARcorp.com
|
||||
@set RTEMS-FTPDIR /pub/rtems/releases/4.5.0-beta
|
||||
@set BUILDTOOLS-TAR c_build_scripts-20000104.tgz
|
||||
@set RTEMS-FTPDIR /pub/rtems/betas/4.5.0-beta
|
||||
@set BUILDTOOLS-TAR c_build_scripts-4.5.0-beta2.tgz
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user