mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-21 16:37:28 +08:00
2010-12-16 Joel Sherrill <joel.sherrilL@OARcorp.com>
* develenv/direct.t: Remove Getting Started with GNAT/RTEMS. * started_ada/.cvsignore, started_ada/Makefile.am, started_ada/buildada.t, started_ada/gdb.t, started_ada/intro.t, started_ada/require.t, started_ada/sample.t, started_ada/stamp-vti, started_ada/started_ada.texi, started_ada/tversions.texi, started_ada/version.texi: Removed.
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
2010-12-16 Joel Sherrill <joel.sherrilL@OARcorp.com>
|
||||
|
||||
* develenv/direct.t: Remove Getting Started with GNAT/RTEMS.
|
||||
* started_ada/.cvsignore, started_ada/Makefile.am,
|
||||
started_ada/buildada.t, started_ada/gdb.t, started_ada/intro.t,
|
||||
started_ada/require.t, started_ada/sample.t, started_ada/stamp-vti,
|
||||
started_ada/started_ada.texi, started_ada/tversions.texi,
|
||||
started_ada/version.texi: Removed.
|
||||
|
||||
2010-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* Makefile.am, configure.ac, common/cpright.texi, common/rtems.texi.in,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1989-2007.
|
||||
@c COPYRIGHT (c) 1989-2010.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@@ -674,10 +674,6 @@ recent RTEMS releases.
|
||||
This directory contains the source code for the
|
||||
@cite{Getting Started with RTEMS for C/C++ Users} manual.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/doc/started_ada/
|
||||
This directory contains the source code for the
|
||||
@cite{Getting Started with RTEMS for Ada Users} manual.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/doc/tools/
|
||||
This directory contains the source code for the tools
|
||||
used on the development host to assist in producing the
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
buildada.texi
|
||||
buildrt.texi
|
||||
gdb.texi
|
||||
index.html
|
||||
intro.texi
|
||||
Makefile
|
||||
Makefile.in
|
||||
mdate-sh
|
||||
require.texi
|
||||
rtems_footer.html
|
||||
rtems_header.html
|
||||
sample.texi
|
||||
started_ada
|
||||
started_ada.aux
|
||||
started_ada.cp
|
||||
started_ada.dvi
|
||||
started_ada.fn
|
||||
started_ada*.html
|
||||
started_ada.info
|
||||
started_ada.ky
|
||||
started_ada.log
|
||||
started_ada.pdf
|
||||
started_ada.pg
|
||||
started_ada.ps
|
||||
started_ada.toc
|
||||
started_ada.tp
|
||||
started_ada.vr
|
||||
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# COPYRIGHT (c) 1988-2002.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
# All rights reserved.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
PROJECT = started_ada
|
||||
|
||||
include $(top_srcdir)/project.am
|
||||
include $(top_srcdir)/main.am
|
||||
|
||||
GENERATED_FILES = buildada.texi buildrt.texi gdb.texi intro.texi \
|
||||
require.texi sample.texi
|
||||
|
||||
COMMON_FILES += $(top_srcdir)/common/cpright.texi
|
||||
|
||||
FILES = tversions.texi
|
||||
|
||||
info_TEXINFOS = started_ada.texi
|
||||
started_ada_TEXINFOS = $(FILES) $(COMMON_FILES) $(GENERATED_FILES)
|
||||
|
||||
intro.texi: intro.t tversions.texi
|
||||
$(BMENU2) -c -p "Top" \
|
||||
-u "Top" \
|
||||
-n "Requirements" < $< > $@
|
||||
|
||||
require.texi: require.t tversions.texi
|
||||
$(BMENU2) -c -p "GNAT Chat Mailing List" \
|
||||
-u "Top" \
|
||||
-n "Building the GNAT Cross Compiler Toolset" < $< > $@
|
||||
|
||||
buildada.texi: buildada.t tversions.texi
|
||||
$(BMENU2) -c -p "Insure GCC and GNAT Environment Variables Are Not Set" \
|
||||
-u "Top" \
|
||||
-n "Building RTEMS" < $< > $@
|
||||
|
||||
buildrt.texi: $(top_srcdir)/started/buildrt.t tversions.texi
|
||||
$(BMENU2) -c -p "Error Messages Indicating Configuration Problems" \
|
||||
-u "Top" \
|
||||
-n "Building the Sample Application" < $< > $@
|
||||
|
||||
sample.texi: sample.t tversions.texi
|
||||
$(BMENU2) -c -p "Using the RTEMS configure Script Directly" \
|
||||
-u "Top" \
|
||||
-n "Building the GNU Debugger" < $< > $@
|
||||
|
||||
gdb.texi: gdb.t tversions.texi
|
||||
$(BMENU2) -c -p "Application Executable" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
EXTRA_DIST = buildada.t gdb.t intro.t require.t sample.t
|
||||
CLEANFILES += started_ada.info
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,235 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Building the GNU Debugger
|
||||
|
||||
GDB is not currently RTEMS aware. The following configurations have been
|
||||
successfully used with RTEMS applications:
|
||||
|
||||
@itemize @bullet
|
||||
@item Sparc Instruction Simulator (SIS)
|
||||
@item PowerPC Instruction Simulator (PSIM)
|
||||
@item DINK32
|
||||
@end itemize
|
||||
|
||||
Other configurations of gdb have successfully been used by RTEMS users
|
||||
but are not documented here.
|
||||
|
||||
@section Unarchive the gdb Distribution
|
||||
|
||||
Use the following commands to unarchive the gdb distribution:
|
||||
|
||||
@example
|
||||
cd tools
|
||||
tar xzf ../archive/@value{GDBTAR}
|
||||
@end example
|
||||
|
||||
The directory @value{GDBUNTAR} is created under the tools directory.
|
||||
|
||||
@c
|
||||
@c GDB GNAT Patch
|
||||
@c
|
||||
|
||||
@section Apply GNAT Patch to GDB
|
||||
|
||||
@ifclear GDB-GNATPATCH
|
||||
No GNAT specific patches are required for @value{GDBVERSION} to
|
||||
support @value{RTEMSVERSION} and @value{GNAT-VERSION}.
|
||||
@end ifclear
|
||||
|
||||
@ifset GDB-GNATPATCH
|
||||
|
||||
Apply the patch using the following command sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
zcat archive/@value{GDB-GNATPATCH} | patch -p1
|
||||
@end example
|
||||
|
||||
Check to see if any of these patches have been rejected using the following
|
||||
sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
find . -name "*.rej" -print
|
||||
@end example
|
||||
|
||||
If any files are found with the .rej extension, a patch has been rejected.
|
||||
This should not happen with a good patch file.
|
||||
|
||||
To see the files that have been modified use the sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
find . -name "*.orig" -print
|
||||
@end example
|
||||
|
||||
The files that are found, have been modified by the patch file.
|
||||
|
||||
@end ifset
|
||||
|
||||
@c
|
||||
@c GDB RTEMS Patch
|
||||
@c
|
||||
|
||||
@section Apply RTEMS Patch to GDB
|
||||
|
||||
@ifclear GDBRTEMSPATCH
|
||||
No RTEMS specific patches are required for @value{GDBVERSION} to
|
||||
support @value{RTEMSVERSION}.
|
||||
@end ifclear
|
||||
|
||||
@ifset GDBRTEMSPATCH
|
||||
|
||||
Apply the patch using the following command sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
zcat archive/@value{GDBRTEMSPATCH} | patch -p1
|
||||
@end example
|
||||
|
||||
Check to see if any of these patches have been rejected using the following
|
||||
sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
find . -name "*.rej" -print
|
||||
@end example
|
||||
|
||||
If any files are found with the .rej extension, a patch has been rejected.
|
||||
This should not happen with a good patch file.
|
||||
|
||||
To see the files that have been modified use the sequence:
|
||||
|
||||
@example
|
||||
cd tools/@value{GDBUNTAR}
|
||||
find . -name "*.orig" -print
|
||||
@end example
|
||||
|
||||
The files that are found, have been modified by the patch file.
|
||||
|
||||
@end ifset
|
||||
|
||||
|
||||
@section GDB with Sparc Instruction Simulation (SIS)
|
||||
|
||||
@subheading Make the Build Directory
|
||||
|
||||
Create a build directory for the SIS Debugger
|
||||
|
||||
@example
|
||||
cd tools
|
||||
mkdir build-sis
|
||||
@end example
|
||||
|
||||
@subheading Configure for the Build
|
||||
|
||||
Configure the GNU Debugger for the
|
||||
Sparc Instruction Simulator (SIS):
|
||||
|
||||
@example
|
||||
cd tools/build-sis
|
||||
../@value{GDBUNTAR}/configure --target-sparc-erc32-aout \
|
||||
--program-prefix=sparc-rtems- \
|
||||
--disable-gdbtk \
|
||||
--enable-targets=all \
|
||||
--prefix=<INSTALL_POINT_FOR_SIS>
|
||||
@end example
|
||||
|
||||
Where <INSTALL_POINT_FOR_SIS> is a unique location where the gdb
|
||||
with SIS will be created.
|
||||
|
||||
@subheading Make the Debugger
|
||||
|
||||
From tools/build-sis execute the following command sequence:
|
||||
|
||||
@example
|
||||
make all install
|
||||
@end example
|
||||
|
||||
NOTE: The @code{make} utility used should be GNU make.
|
||||
|
||||
@section GDB with PowerPC Instruction Simulator
|
||||
|
||||
@subheading Make the Build Directory
|
||||
|
||||
Create a build directory for the SIS Debugger
|
||||
|
||||
@example
|
||||
cd tools
|
||||
mkdir build-ppc
|
||||
@end example
|
||||
|
||||
@subheading Configure for the Build
|
||||
|
||||
Configure the GNU Debugger for the PowerPC
|
||||
Instruction Simulator (PSIM):
|
||||
|
||||
@example
|
||||
cd tools/build-ppc
|
||||
../@value{GDBUNTAR}/configure \
|
||||
--target=powerpc-unknown-eabi \
|
||||
--program-prefix=powerpc-rtems- \
|
||||
--enable-sim-powerpc \
|
||||
--enable-sim-timebase \
|
||||
--enable-sim-inline \
|
||||
--enable-sim-hardware \
|
||||
--enable-targets=all \
|
||||
--prefix=<INSTALL_POINT_FOR_PPC>
|
||||
@end example
|
||||
|
||||
Where <INSTALL_POINT_FOR_PPC> is a unique location where the gdb
|
||||
with PSIM will be created.
|
||||
|
||||
|
||||
@subheading Make the Debugger
|
||||
|
||||
From tools/build-ppc execute the following command sequence:
|
||||
|
||||
@example
|
||||
make all install
|
||||
@end example
|
||||
|
||||
NOTE: The @code{make} utility used should be GNU make.
|
||||
|
||||
@section GDB for DINK32
|
||||
|
||||
@subheading Make the Build Directory
|
||||
|
||||
Create a build directory for the DINK32 Debugger
|
||||
|
||||
@example
|
||||
cd tools
|
||||
mkdir build-dink32
|
||||
@end example
|
||||
|
||||
@subheading Configure for the Build
|
||||
|
||||
Configure the GNU Debugger to communicate with
|
||||
the DINK32 ROM monitor:
|
||||
|
||||
@example
|
||||
cd tools/build-dink32
|
||||
../@value{GDBUNTAR}/configure --target-powerpc-elf \
|
||||
--program-prefix=powerpc-rtems- \
|
||||
--enable-targets=all \
|
||||
--prefix=<INSTALL_POINT_FOR_DINK32>
|
||||
@end example
|
||||
|
||||
Where <INSTALL_POINT_FOR_DINK32> is a unique location where the
|
||||
gdb Dink32 will be created.
|
||||
|
||||
@subheading Make the Debugger
|
||||
|
||||
From tools/build-dink32 execute the following command sequence:
|
||||
|
||||
@example
|
||||
make all install
|
||||
@end example
|
||||
|
||||
NOTE: The @code{make} utility used should be GNU make.
|
||||
@@ -1,162 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Introduction
|
||||
|
||||
The purpose of this document is to guide you through the process of
|
||||
installing a GNU cross development environment to use with RTEMS.
|
||||
|
||||
If you are already familiar with the concepts behind a cross compiler and
|
||||
have a background in Unix, these instructions should provide the bare
|
||||
essentials for performing a setup of the following items:
|
||||
|
||||
@itemize @bullet
|
||||
@item GNAT/RTEMS Cross Compilation Tools on your host system
|
||||
@item RTEMS OS for the target host
|
||||
@item GDB Debugger
|
||||
@end itemize
|
||||
|
||||
The remainder of this chapter provides background information on real-time
|
||||
embedded systems and cross development and an overview of other
|
||||
resources of interest on the Internet. If you are not familiar with
|
||||
real-time embedded systems or the other areas, please read those sections.
|
||||
These sections will help familiarize you with the
|
||||
types of systems RTEMS is designed to be used in and the cross development
|
||||
process used when developing RTEMS applications.
|
||||
|
||||
@section Real-Time Embedded Systems
|
||||
|
||||
Real-time embedded systems are found in practically every facet of our
|
||||
everyday lives. Today's systems range from the common telephone, automobile
|
||||
control systems, and kitchen appliances to complex air traffic control
|
||||
systems, military weapon systems, an d production line control including
|
||||
robotics and automation. However, in the current climate of rapidly changing
|
||||
technology, it is difficult to reach a consensus on the definition of a
|
||||
real-time embedded system. Hardware costs are continuing to rapidly decline
|
||||
while at the same time the hardware is increasing in power and functionality.
|
||||
As a result, embedded systems that were not considered viable two years ago
|
||||
are suddenly a cost effective solution. In this domain, it is not uncommon
|
||||
for a single hardware configuration to employ a variety of architectures and
|
||||
technologies. Therefore, we shall define an embedded system as any computer
|
||||
system that is built into a larger system consisting of multiple technologies
|
||||
such as digital and analog electronics, mechanical devices, and sensors.
|
||||
|
||||
Even as hardware platforms become more powerful, most embedded systems are
|
||||
critically dependent on the real-time software embedded in the systems
|
||||
themselves. Regardless of how efficiently the hardware operates, the
|
||||
performance of the embedded real-time software determines the success of the
|
||||
system. As the complexity of the embedded hardware platform grows, so does
|
||||
the size and complexity of the embedded software. Software systems must
|
||||
routinely perform activities which were only dreamed of a short time ago.
|
||||
These large, complex, real-time embedded applications now commonly contain
|
||||
one million lines of code or more.
|
||||
|
||||
Real-time embedded systems have a complex set of characteristics that
|
||||
distinguish them from other software applications. Real-time embedded
|
||||
systems are driven by and must respond to real world events while adhering to
|
||||
rigorous requirements imposed by the environment with which they interact.
|
||||
The correctness of the system depends not only on the results of
|
||||
computations, but also on the time at which the results are produced. The
|
||||
most important and complex characteristic of real-time application systems is
|
||||
that they must receive and respond to a set of external stimuli within rigid
|
||||
and critical time constraints.
|
||||
|
||||
A single real-time application can be composed of both soft and hard
|
||||
real-time components. A typical example of a hard real-time system is a
|
||||
nuclear reactor control system that must not only detect failures, but must
|
||||
also respond quickly enough to prevent a meltdown. This application also has
|
||||
soft real-time requirements because it may involve a man-machine interface.
|
||||
Providing an interactive input to the control system is not as critical as
|
||||
setting off an alarm to indicate a failure condition. However, th e
|
||||
interactive system component must respond within an acceptable time limit to
|
||||
allow the operator to interact efficiently with the control system.
|
||||
|
||||
@section Cross Development
|
||||
|
||||
Today almost all real-time embedded software systems are developed in a
|
||||
@b{cross development} environment using cross development tools. In the cross
|
||||
development environment, software development activities are typically
|
||||
performed on one computer system, the @b{host} system, while the result of the
|
||||
development effort (produced by the cross tools) is a software system that
|
||||
executes on the @b{target} platform. The requirements for the target platform are
|
||||
usually incompatible and quite often in direct conflict with the requirements
|
||||
for the host. Moreover, the target hardware is often custom designed for a
|
||||
particular project. This means that the cross development toolset must allow
|
||||
the developer to customize the tools to address target specific run-time
|
||||
issues. The toolset must have provisions for board dependent initialization
|
||||
code, device drivers, and error handling code.
|
||||
|
||||
The host computer is optimized to support the code development cycle with
|
||||
support for code editors, compilers, and linkers requiring large disk drives,
|
||||
user development windows, and multiple developer connections. Thus the host
|
||||
computer is typically a traditional UNIX workstation such as are available
|
||||
from SUN or Silicon Graphics, or a PC running either a version of MS-Windows
|
||||
or UNIX. The host system may also be required to execute office productivity
|
||||
applications to allow the software developer to write documentation, make
|
||||
presentations, or track the project's progress using a project management
|
||||
tool. This necessitates that the host computer be general purpose with
|
||||
resources such as a thirty-two or sixty-four bit processor, large amounts of
|
||||
RAM, a monitor, mouse, keyboard, hard and floppy disk drives, CD-ROM drive,
|
||||
and a graphics card. It is likely that the system will be multimedia capable
|
||||
and have some networking capability.
|
||||
|
||||
Conversely, the target platform generally has limited traditional computer
|
||||
resources. The hardware is designed for the particular functionality and
|
||||
requirements of the embedded system and optimized to perform those tasks
|
||||
effectively. Instead of hard driverss and keyboards, it is composed of
|
||||
sensors, relays, and stepper motors. The per-unit cost of the target platform
|
||||
is typically a critical concern. No hardware component is included without
|
||||
being cost justified. As a result, the processor of the target system is
|
||||
often from a different processor family than that of the host system and
|
||||
usually has lower performance. In addition to the processor families
|
||||
targeted only for use in embedded systems, there are versions of nearly every
|
||||
general-purpose process or specifically tailored for real-time embedded
|
||||
systems. For example, many of the processors targeting the embedded market
|
||||
do not include hardware floating point units, but do include peripherals such
|
||||
as timers, serial controllers, or network interfaces.
|
||||
|
||||
@section Resources on the Internet
|
||||
|
||||
This section describes various resources on the Internet which are of
|
||||
use to GNAT/RTEMS users.
|
||||
|
||||
@subsection RTEMS Mailing List
|
||||
|
||||
rtems-users@@rtems.com
|
||||
|
||||
This mailing list is dedicated to the discussion of issues related
|
||||
to RTEMS, including GNAT/RTEMS. If you have questions about RTEMS,
|
||||
wish to make suggestions, or just want to pick up hints, this is a
|
||||
good list to subscribe to. Subscribe by sending an empty mail
|
||||
message to rtems-users-subscribe@@rtems.com. Messages sent
|
||||
to rtems-users@@rtems.com are posted to the list.
|
||||
|
||||
@subsection CrossGCC Mailing List
|
||||
|
||||
crossgcc@@cygnus.com
|
||||
|
||||
This mailing list is dedicated to the use of the GNU tools in
|
||||
cross development environments. Most of the discussions
|
||||
focus on embedded issues. Subscribe by sending a message with
|
||||
the one line "subscribe" to crossgcc-request@@cygnus.com.
|
||||
|
||||
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 GNAT Chat Mailing List
|
||||
|
||||
chat@@gnat.com
|
||||
|
||||
This mailing list is dedicated to the general discussion
|
||||
of GNAT specific issues. The discussions try to avoid
|
||||
more general Ada95 language issues which have other
|
||||
forums. Subscribe by sending a message with
|
||||
the one line "subscribe" to chat-request@@gnat.com.
|
||||
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Requirements
|
||||
|
||||
A fairly large amount of disk space is required to perform the build of the
|
||||
GNU C/C++ Cross Compiler Tools for RTEMS. The following table may help in
|
||||
assessing the amount of disk space required for your installation:
|
||||
|
||||
@example
|
||||
+------------------------------------+--------------------------+
|
||||
| Component | Disk Space Required |
|
||||
+------------------------------------+--------------------------+
|
||||
| archive directory | 40 Mbytes |
|
||||
| tools src unarchived | 200 Mbytes |
|
||||
| each individual build directory | up to 500 Mbytes |
|
||||
| each installation directory | 20-200 Mbytes |
|
||||
+------------------------------------+--------------------------+
|
||||
@end example
|
||||
|
||||
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:
|
||||
|
||||
@itemize @bullet
|
||||
@item GCC
|
||||
@item GNAT
|
||||
@item GNU make
|
||||
@end itemize
|
||||
|
||||
In addition, some native utilities may be deficient for building
|
||||
the GNU tools.
|
||||
|
||||
@section Native GNAT
|
||||
|
||||
The native GNAT must be installed in the default location or built
|
||||
from source. No GCC or GNAT environment variables should be set during
|
||||
the build or use of the cross GNAT/RTEMS toolset as this could result in
|
||||
an unpredictable mix of native and cross toolsets.
|
||||
|
||||
Binaries for native GNAT installations are available at the primary
|
||||
GNAT ftp site (@value{GNAT-FTP}. Installation instructions are
|
||||
included with the binary GNAT distributions. The binary installation
|
||||
should be installed in the default location or installed in a
|
||||
non-default location and used ONLY to build a native GNAT from source.
|
||||
This final native GNAT will be used to build the GNAT/RTEMS cross
|
||||
development toolset.
|
||||
|
||||
@subsection Verifying Correct Operation of Native GNAT
|
||||
|
||||
It is imperative that the native GNAT installation work correctly for
|
||||
the installation of GNAT/RTEMS to succeed. It is recommended that the
|
||||
user verify that the native GNAT is installed correctly by performing
|
||||
these tests:
|
||||
|
||||
@subsubsection Native Hello World Test
|
||||
|
||||
Place the following Ada source code in hello.adb:
|
||||
|
||||
@example
|
||||
with Text_IO; use Text_IO;
|
||||
|
||||
procedure Hello is
|
||||
begin
|
||||
Put_Line ( "Hello World");
|
||||
end Hello;
|
||||
@end example
|
||||
|
||||
Use the following command sequence to ompile and execute the above program:
|
||||
|
||||
@example
|
||||
gnatmake hello
|
||||
./hello
|
||||
@end example
|
||||
|
||||
If the message @code{Hello World} is printed, then the native installation
|
||||
of GNAT operates well enough to proceed.
|
||||
|
||||
@subsubsection Insure GCC and GNAT Environment Variables Are Not Set
|
||||
|
||||
If any of the following commands produce output, then you have
|
||||
environment variables overriding the default behavior of the
|
||||
native GNAT toolset. These variables will conflict with the cross
|
||||
toolset. Please resolve this problem before proceeding further.
|
||||
|
||||
@example
|
||||
echo $GCC_EXEC_PREFIX
|
||||
echo $ADA_INCLUDE_PATH
|
||||
echo $ADA_OBJECTS_PATH
|
||||
echo $LD_RUN_PATH
|
||||
echo $C_INCLUDE_PATH
|
||||
@end example
|
||||
@@ -1,57 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Building the Sample Application
|
||||
|
||||
@section Unpack the Sample Application
|
||||
|
||||
Use the following command to unarchive the sample application:
|
||||
|
||||
@example
|
||||
cd tools
|
||||
tar xzf ../archive/hello_world_ada.tgz
|
||||
@end example
|
||||
|
||||
@section Create a BSP Specific Makefile
|
||||
|
||||
Provided are example Makefiles for multiple BSPs. Copy one of these to
|
||||
the file Makefile.<BOARD_SUPPORT_PACKAGE> and edit it as appropriate for
|
||||
your local configuration.
|
||||
|
||||
Use the <INSTALLATION_POINT> and <BOARD_SUPPORT_PACKAGE> specified when
|
||||
configuring and installing RTEMS.
|
||||
|
||||
@section Build the Sample Application
|
||||
|
||||
Use the following command to start the build of the sample application:
|
||||
|
||||
@example
|
||||
cd tools/hello_world_ada
|
||||
make -f Makefile.<BOARD_SUPPORT_PACKAGE>
|
||||
@end example
|
||||
|
||||
NOTE: GNU make is the preferred @code{make} utility. Other @code{make}
|
||||
implementations may work but all testing is done with GNU make.
|
||||
|
||||
If the BSP specific modifications to the Makefile were correct and
|
||||
no errors are detected during the sample application build, it is
|
||||
reasonable to assume that the build of the GNAT/RTEMS Cross Compiler Tools
|
||||
for RTEMS and RTEMS itself for the selected host and target
|
||||
combination was done properly.
|
||||
|
||||
@section Application Executable
|
||||
|
||||
If the sample application has successfully been build, then the application
|
||||
executable is placed in the following directory:
|
||||
|
||||
@example
|
||||
tools/hello_world_ada/o-optimize/<filename>.exe
|
||||
@end example
|
||||
|
||||
How this executable is downloaded to the target board is very dependent
|
||||
on the BOARD_SUPPORT_PACKAGE selected.
|
||||
@@ -1,4 +0,0 @@
|
||||
@set UPDATED 27 June 2007
|
||||
@set UPDATED-MONTH June 2007
|
||||
@set EDITION 4.10.99.0
|
||||
@set VERSION 4.10.99.0
|
||||
@@ -1,110 +0,0 @@
|
||||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
@setfilename started_ada.info
|
||||
@setcontentsaftertitlepage
|
||||
@syncodeindex vr fn
|
||||
@synindex ky cp
|
||||
@paragraphindent 0
|
||||
@c %**end of header
|
||||
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@c
|
||||
@c Master file for the Getting Started (C) Guide
|
||||
@c
|
||||
|
||||
@include version.texi
|
||||
@include common/setup.texi
|
||||
@include common/rtems.texi
|
||||
|
||||
@c
|
||||
@c Now set all the tool version dependent information
|
||||
@c
|
||||
@include tversions.texi
|
||||
|
||||
@ifset use-ascii
|
||||
@dircategory RTEMS On-Line Manual
|
||||
@direntry
|
||||
* Getting Started with GNAT/RTEMS: (started_ada)
|
||||
@end direntry
|
||||
@end ifset
|
||||
|
||||
@c
|
||||
@c Title Page Stuff
|
||||
@c
|
||||
|
||||
@c
|
||||
@c I don't really like having a short title page. --joel
|
||||
@c
|
||||
@c @shorttitlepage Getting Started with RTEMS
|
||||
|
||||
@setchapternewpage odd
|
||||
@settitle Getting Started with GNAT/RTEMS
|
||||
@titlepage
|
||||
@finalout
|
||||
|
||||
@title Getting Started with GNAT/RTEMS
|
||||
@subtitle Edition @value{EDITION}, for @value{VERSION}
|
||||
@sp 1
|
||||
@subtitle @value{UPDATED}
|
||||
@author On-Line Applications Research Corporation
|
||||
@page
|
||||
@include common/cpright.texi
|
||||
@end titlepage
|
||||
|
||||
@c This prevents a black box from being printed on "overflow" lines.
|
||||
@c The alternative is to rework a sentence to avoid this problem.
|
||||
|
||||
@contents
|
||||
|
||||
@include intro.texi
|
||||
@include require.texi
|
||||
@include buildada.texi
|
||||
@include buildrt.texi
|
||||
@include sample.texi
|
||||
@include gdb.texi
|
||||
|
||||
@ifinfo
|
||||
@node Top, Introduction, (dir), (dir)
|
||||
@top started_ada
|
||||
|
||||
This is the online version of the Getting Started with GNAT/RTEMS.
|
||||
|
||||
@menu
|
||||
* Introduction::
|
||||
* Requirements::
|
||||
* Building the GNAT Cross Compiler Toolset::
|
||||
* Building RTEMS::
|
||||
* Building the Sample Application::
|
||||
* Building the GNU Debugger::
|
||||
@end menu
|
||||
|
||||
@c * Command and Variable Index::
|
||||
@c * Concept Index::
|
||||
@end ifinfo
|
||||
@c
|
||||
@c
|
||||
@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here
|
||||
@c
|
||||
|
||||
@c @node Command and Variable Index, Concept Index, GDB for DINK32, Top
|
||||
@c @unnumbered Command and Variable Index
|
||||
|
||||
@c There are currently no Command and Variable Index entries.
|
||||
|
||||
@c @printindex fn
|
||||
|
||||
@c @node Concept Index, , Command and Variable Index, Top
|
||||
@c @unnumbered Concept Index
|
||||
|
||||
@c There are currently no Concept Index entries.
|
||||
@c @printindex cp
|
||||
|
||||
@bye
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@c
|
||||
@c This file contains all toolset version dependent information
|
||||
@c
|
||||
|
||||
@c
|
||||
@c Comment out setting the "XYZ-RTEMSPATCH" variable if there is no
|
||||
@c patch required. The documentation will detect this and print
|
||||
@c an appropriate message in a short section.
|
||||
@c
|
||||
|
||||
|
||||
@c
|
||||
@c GCC Version
|
||||
@c
|
||||
|
||||
@set GCCVERSION gcc 2.8.1
|
||||
@set GCCTAR gcc-2.8.1.tar.gz
|
||||
@set GCCUNTAR gcc-2.8.1
|
||||
@set GCCFTPSITE ftp.gnu.org
|
||||
@set GCCFTPDIR /pub/gnu/gcc
|
||||
@set GCCRTEMSPATCH gcc-2.8.1-rtems-gnat-3.13p-20000429.diff.gz
|
||||
|
||||
@c
|
||||
@c GNAT Version
|
||||
@c
|
||||
|
||||
@set GNAT-VERSION gnat 3.13p
|
||||
@set GNAT-TAR gnat-3.13p-src.tar.gz
|
||||
@set GNAT-UNTAR gnat-3.13p-src
|
||||
@set GNAT-FTPSITE NONE
|
||||
@set GNAT-FTPDIR NO_DIRECTORY
|
||||
@set GNAT-RTEMSPATCH gnat-3.13p-rtems-20000829.diff
|
||||
|
||||
@c
|
||||
@c BINUTILS Version
|
||||
@c
|
||||
|
||||
@c The "official" binutils
|
||||
@set BINUTILSVERSION binutils 2.10
|
||||
@set BINUTILSTAR binutils-2.10.tar.gz
|
||||
@set BINUTILSUNTAR binutils-2.10
|
||||
@set BINUTILSFTPSITE ftp.gnu.org
|
||||
@set BINUTILSFTPDIR /pub/gnu/binutils
|
||||
@set BINUTILSRTEMSPATCH binutils-2.10-rtems-gnat-3.13p-20001107.diff
|
||||
|
||||
@c
|
||||
@c NEWLIB Version
|
||||
@c
|
||||
|
||||
@set NEWLIBVERSION newlib 1.8.2
|
||||
@set NEWLIBTAR newlib-1.8.2.tar.gz
|
||||
@set NEWLIBUNTAR newlib-1.8.2
|
||||
@set NEWLIBFTPSITE sources.redhat.com
|
||||
@set NEWLIBFTPDIR /pub/newlib
|
||||
@set NEWLIBRTEMSPATCH newlib-1.8.2-rtems-20000606.diff.gz
|
||||
|
||||
@c
|
||||
@c GDB Version
|
||||
@c
|
||||
|
||||
@set GDBVERSION gdb 4.17
|
||||
@set GDBTAR gdb-4.17.tar.gz
|
||||
@set GDBUNTAR gdb-4.17
|
||||
@set GDBFTPSITE ftp.gnu.org
|
||||
@set GDBFTPDIR /pub/gnu/gdb/
|
||||
@set GDBRTEMSPATCH gdb-4.17-rtems-gnat-3.13p-20000918.diff
|
||||
@c @set GDB-GNATPATCH gdb-ada-patch-1.17.8.gz
|
||||
|
||||
@c
|
||||
@c RTEMS Version
|
||||
@c
|
||||
|
||||
@set RTEMSVERSION RTEMS Snapshot
|
||||
@set RTEMSTAR rtems-ss-DATE.tgz
|
||||
@set RTEMSUNTAR rtems-DATE
|
||||
@set RTEMSFTPSITE ftp.rtems.com
|
||||
@set RTEMSFTPDIR /pub/rtems/snapshots/current
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
@set UPDATED 27 June 2007
|
||||
@set UPDATED-MONTH June 2007
|
||||
@set EDITION 4.10.99.0
|
||||
@set VERSION 4.10.99.0
|
||||
Reference in New Issue
Block a user