forked from Imagelibrary/rtems
2003-10-02 Joel Sherrill <joel@OARcorp.com>
* Makefile.am, binaries.t, buildc.t, intro.t, nextstep.t, require.t, sample.t, started.texi: General improvements and merge enough Ada information to justify dropping the Ada specific manual. There is likely still Ada specific information to merge though.
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
2003-10-02 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* Makefile.am, binaries.t, buildc.t, intro.t, nextstep.t, require.t,
|
||||||
|
sample.t, started.texi: General improvements and merge enough Ada
|
||||||
|
information to justify dropping the Ada specific manual. There is
|
||||||
|
likely still Ada specific information to merge though.
|
||||||
|
|
||||||
2003-09-26 Joel Sherrill <joel@OARcorp.com>
|
2003-09-26 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* nt.t: Significant update of Windows information. Hopefully this is
|
* nt.t: Significant update of Windows information. Hopefully this is
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ require.texi: require.t tversions.texi
|
|||||||
binaries.texi: binaries.t tversions.texi
|
binaries.texi: binaries.t tversions.texi
|
||||||
$(BMENU2) -c -p "Archive and Build Directory Format" \
|
$(BMENU2) -c -p "Archive and Build Directory Format" \
|
||||||
-u "Top" \
|
-u "Top" \
|
||||||
-n "Building the GNU C/C++ Cross Compiler Toolset" < $< > $@
|
-n "Building the GNU Cross Compiler Toolset" < $< > $@
|
||||||
|
|
||||||
buildc.texi: buildc.t tversions.texi
|
buildc.texi: buildc.t tversions.texi
|
||||||
$(BMENU2) -c -p "Removing Zipped Tar Files" \
|
$(BMENU2) -c -p "Removing Zipped Tar Files" \
|
||||||
@@ -46,7 +46,7 @@ buildc.texi: buildc.t tversions.texi
|
|||||||
buildrt.texi: buildrt.t tversions.texi
|
buildrt.texi: buildrt.t tversions.texi
|
||||||
$(BMENU2) -c -p "Error Messages Indicating Configuration Problems" \
|
$(BMENU2) -c -p "Error Messages Indicating Configuration Problems" \
|
||||||
-u "Top" \
|
-u "Top" \
|
||||||
-n "Building the Sample Application" < $< > $@
|
-n "Building the Sample Applications" < $< > $@
|
||||||
|
|
||||||
sample.texi: sample.t tversions.texi
|
sample.texi: sample.t tversions.texi
|
||||||
$(BMENU2) -c -p "Using the RTEMS configure Script Directly" \
|
$(BMENU2) -c -p "Using the RTEMS configure Script Directly" \
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ These binaries are strictly optional.
|
|||||||
|
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
NOTE: Installing toolset binaries does not install RTEMS itself, only the tools
|
NOTE: Installing toolset binaries does not install RTEMS itself, only
|
||||||
required to build RTEMS. See @ref{Building RTEMS} for the next
|
the tools required to build RTEMS. See @ref{Building RTEMS} for the next
|
||||||
step in the process.
|
step in the process.
|
||||||
|
|
||||||
@section RPMs
|
@section RPMs
|
||||||
@@ -61,6 +61,7 @@ of a C/C++ toolset targeting the SPARC architecture.
|
|||||||
rpm -i rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
rpm -i rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
||||||
rpm -i sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
rpm -i sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
||||||
rpm -i rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
rpm -i rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
|
rpm -i sparc-rtems-c++-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
rpm -i sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
rpm -i sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
rpm -i rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
rpm -i rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
||||||
rpm -i sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
rpm -i sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
||||||
@@ -93,6 +94,7 @@ of a C/C++ toolset targeting the SPARC architecture.
|
|||||||
rpm -e sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
rpm -e sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
||||||
rpm -e rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
rpm -e rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
|
||||||
rpm -e sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
rpm -e sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
|
rpm -e sparc-rtems-c++-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
rpm -e rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
rpm -e rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
|
||||||
rpm -e sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
rpm -e sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
||||||
rpm -e rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
rpm -e rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
@c $Id$
|
@c $Id$
|
||||||
@c
|
@c
|
||||||
|
|
||||||
@chapter Building the GNU C/C++ Cross Compiler Toolset
|
@chapter Building the GNU Cross Compiler Toolset
|
||||||
|
|
||||||
NOTE: This chapter does @b{NOT} apply if you installed
|
NOTE: This chapter does @b{NOT} apply if you installed
|
||||||
prebuilt toolset executables for BINUTILS, GCC, NEWLIB,
|
prebuilt toolset executables for BINUTILS, GCC, NEWLIB,
|
||||||
@@ -537,15 +537,16 @@ ln -s ../@value{NEWLIBUNTAR}/newlib .
|
|||||||
|
|
||||||
The following example illustrates the invocation of
|
The following example illustrates the invocation of
|
||||||
@code{configure} and @code{make}
|
@code{configure} and @code{make}
|
||||||
to build and install @value{BINUTILSUNTAR} for the
|
to build and install @value{GCCUNTAR} with only
|
||||||
sparc-rtems target:
|
C and C++ support for the sparc-rtems target:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
mkdir b-gcc
|
mkdir b-gcc
|
||||||
cd b-gcc
|
cd b-gcc
|
||||||
../@value{GCCUNTAR}/configure --target=sparc-rtems \
|
../@value{GCCUNTAR}/configure --target=sparc-rtems \
|
||||||
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
|
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
|
||||||
--enable-threads --prefix=@value{RTEMSPREFIX}
|
--enable-threads --enable-languages="c,c++" \
|
||||||
|
--prefix=@value{RTEMSPREFIX}
|
||||||
make all
|
make all
|
||||||
make info
|
make info
|
||||||
make install
|
make install
|
||||||
@@ -559,6 +560,47 @@ refer to the documentation for @value{GCCUNTAR} or
|
|||||||
invoke the @value{GCCUNTAR} @code{configure} command with the
|
invoke the @value{GCCUNTAR} @code{configure} command with the
|
||||||
@code{--help} option.
|
@code{--help} option.
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c Building GCC with Ada Support
|
||||||
|
@c
|
||||||
|
@subheading Building GCC with Ada Support
|
||||||
|
|
||||||
|
If you want a GCC toolset that includes support for Ada
|
||||||
|
(e.g. GNAT), there are some additional requirements on
|
||||||
|
the host environment and additional build steps to perform.
|
||||||
|
It is critical that you use the same version of GCC/GNAT as
|
||||||
|
the native compiler. GNAT must be compiled with an Ada compiler
|
||||||
|
and when building a GNAT cross-compiler, it should be
|
||||||
|
the same version of GNAT itself.
|
||||||
|
|
||||||
|
The build procedure is the same until the configure step.
|
||||||
|
A GCC toolset with GNAT enabled requires that @code{ada}
|
||||||
|
be included in the set of enabled languages.
|
||||||
|
The following example illustrates the invocation of
|
||||||
|
@code{configure} and @code{make}
|
||||||
|
to build and install @value{GCCUNTAR} with only
|
||||||
|
C, C++, and Ada support for the sparc-rtems target:
|
||||||
|
|
||||||
|
@example
|
||||||
|
mkdir b-gcc
|
||||||
|
cd @value{GCCUNTAR}/gcc/ada
|
||||||
|
touch treeprs.ads [es]info.h nmake.ad[bs]
|
||||||
|
cd ../../../b-gcc
|
||||||
|
../@value{GCCUNTAR}/configure --target=sparc-rtems \
|
||||||
|
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
|
||||||
|
--enable-threads --enable-languages="c,c++,ada" \
|
||||||
|
--prefix=@value{RTEMSPREFIX}
|
||||||
|
make all
|
||||||
|
make info
|
||||||
|
make -C gcc cross-gnattools
|
||||||
|
make -C gcc ada.all.cross
|
||||||
|
make -C gcc GNATLIBCFLAGS="USER_SELECTED_CPU_CFLAGS" gnatlib
|
||||||
|
make install
|
||||||
|
@end example
|
||||||
|
|
||||||
|
After @value{GCCUNTAR} is built and installed the
|
||||||
|
build directory @code{b-gcc} may be removed.
|
||||||
|
|
||||||
@c
|
@c
|
||||||
@c Building the GNU Debugger GDB
|
@c Building the GNU Debugger GDB
|
||||||
@c
|
@c
|
||||||
@@ -577,12 +619,17 @@ specific. The following configurations have been
|
|||||||
successfully used with RTEMS applications:
|
successfully used with RTEMS applications:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item Sparc Instruction Simulator (SIS)
|
@item BDM with ColdFire, 683xx, MPC860 CPUs
|
||||||
@item PowerPC Instruction Simulator (PSIM)
|
|
||||||
@item DINK32
|
|
||||||
@item BDM with 68360 and MPC860 CPUs
|
|
||||||
@item Motorola Mxxxbug found on M68xxx VME boards
|
@item Motorola Mxxxbug found on M68xxx VME boards
|
||||||
@item Motorola PPCbug found on PowerPC VME and CompactPCI boards
|
@item Motorola PPCbug found on PowerPC VME, CompactPCI, and MTX boards
|
||||||
|
@item ARM based Cogent EDP7312
|
||||||
|
@item PC's using various Intel and AMD CPUs including i386,
|
||||||
|
i486, Pentium and above, and Athlon
|
||||||
|
@item PowerPC Instruction Simulator in GDB (PSIM)
|
||||||
|
@item MIPS Instruction Simulator in GDB (JMR3904)
|
||||||
|
@item Sparc Instruction Simulator in GDB (SIS)
|
||||||
|
@item Sparc Instruction Simulator (TSIM)
|
||||||
|
@item DINK32 on various PowerPC boards
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
GDB is currently RTEMS thread/task aware only if you are using the
|
GDB is currently RTEMS thread/task aware only if you are using the
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ have a background in Unix, these instructions should provide the bare
|
|||||||
essentials for performing a setup of the following items:
|
essentials for performing a setup of the following items:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item GNU C/C++ Cross Compilation Tools for RTEMS on your build-host system
|
@item GNU Cross Compilation Tools for RTEMS on your build-host system
|
||||||
@item RTEMS OS for the target
|
@item RTEMS OS for the target
|
||||||
@item GDB Debugger
|
@item GDB Debugger
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@chapter Where To Go From Here
|
@chapter Where To Go From Here
|
||||||
|
|
||||||
At this point, you should have successfully installed a
|
At this point, you should have successfully installed a
|
||||||
GNU C/C++ Cross Compilation Tools for RTEMS on your host system
|
GNU Cross Compilation Tools for RTEMS on your host system
|
||||||
as well as the RTEMS OS for the target host. You should
|
as well as the RTEMS OS for the target host. You should
|
||||||
have successfully linked the "hello world" program. You
|
have successfully linked the "hello world" program. You
|
||||||
may even have downloaded the executable to that target
|
may even have downloaded the executable to that target
|
||||||
@@ -52,7 +52,7 @@ on the network services provided by RTEMS.
|
|||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
In addition, the following manuals from the GNU C/C++ Cross
|
In addition, the following manuals from the GNU Cross
|
||||||
Compilation Toolset include information on run-time services
|
Compilation Toolset include information on run-time services
|
||||||
available.
|
available.
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
@chapter Requirements
|
@chapter Requirements
|
||||||
|
|
||||||
This chapter describes the build-host system requirements and initial steps
|
This chapter describes the build-host system requirements and initial steps
|
||||||
in installing the GNU C/C++ Cross Compiler Tools and RTEMS on a build-host.
|
in installing the GNU Cross Compiler Tools and RTEMS on a build-host.
|
||||||
|
|
||||||
@section Disk Space
|
@section Disk Space
|
||||||
|
|
||||||
|
|||||||
@@ -6,21 +6,22 @@
|
|||||||
@c $Id$
|
@c $Id$
|
||||||
@c
|
@c
|
||||||
|
|
||||||
@chapter Building the Sample Application
|
@chapter Building the Sample Applications
|
||||||
|
|
||||||
@section Unarchive the Sample Application
|
The RTEMS distribution includes a number of sample C, C++,
|
||||||
|
Ada, and networking applications. This chapter will provide
|
||||||
Use the following command to unarchive the sample application:
|
an overview of those sample applications.
|
||||||
|
|
||||||
@example
|
|
||||||
cd tools
|
|
||||||
tar xzf ../archive/hello_world_c.tgz
|
|
||||||
@end example
|
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c Set the Environment Variable RTEMS_MAKEFILE_PATH
|
||||||
|
@c
|
||||||
@section Set the Environment Variable RTEMS_MAKEFILE_PATH
|
@section Set the Environment Variable RTEMS_MAKEFILE_PATH
|
||||||
|
|
||||||
RTEMS_MAKEFILE_PATH must point to the appropriate directory containing
|
The sample application sets use the RTEMS Application Makefiles.
|
||||||
RTEMS build for our target and board support package combination.
|
This requires that the environment variable
|
||||||
|
@code{RTEMS_MAKEFILE_PATH} point to the appropriate directory containing
|
||||||
|
the installed RTEMS image built to target your particular CPU and
|
||||||
|
board support package combination.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
export RTEMS_MAKEFILE_PATH=<INSTALLATION_POINT>/<BOARD_SUPPORT_PACKAGE>
|
export RTEMS_MAKEFILE_PATH=<INSTALLATION_POINT>/<BOARD_SUPPORT_PACKAGE>
|
||||||
@@ -33,35 +34,22 @@ NOTE: In release 4.0, BSPs were installed at
|
|||||||
@code{<INSTALLATION_POINT>/rtems/<BOARD_SUPPORT_PACKAGE>}. This
|
@code{<INSTALLATION_POINT>/rtems/<BOARD_SUPPORT_PACKAGE>}. This
|
||||||
was changed to be more in compliance with GNU standards.
|
was changed to be more in compliance with GNU standards.
|
||||||
|
|
||||||
@section Build the Sample Application
|
|
||||||
|
|
||||||
Use the following command to start the build of the sample hello
|
|
||||||
world application:
|
|
||||||
|
|
||||||
@example
|
|
||||||
cd hello_world_c
|
|
||||||
make
|
|
||||||
@end example
|
|
||||||
|
|
||||||
NOTE: GNU make is the preferred @code{make} utility. Other @code{make}
|
NOTE: GNU make is the preferred @code{make} utility. Other @code{make}
|
||||||
implementations may work but all testing is done with GNU make.
|
implementations may work but all testing is done with GNU make.
|
||||||
|
|
||||||
If no errors are detected during the sample application build, it is
|
If no errors are detected during the sample application build, it is
|
||||||
reasonable to assume that the build of the GNU C/C++ Cross Compiler Tools
|
reasonable to assume that the build of the GNU Cross Compiler Tools
|
||||||
for RTEMS and RTEMS itself for the selected host and target
|
for RTEMS and RTEMS itself for the selected host and target
|
||||||
combination was done properly.
|
combination was done properly.
|
||||||
|
|
||||||
@section Application Executable
|
@c
|
||||||
|
@c Executing the Sample Applications
|
||||||
|
@c
|
||||||
|
@section Executing the Sample Applications
|
||||||
|
|
||||||
If the sample application has successfully been built, then the application
|
How each sample application executable is downloaded
|
||||||
executable is placed in the following directory:
|
to your target board and executed is very dependent
|
||||||
|
on the board you are using. The following is a list of
|
||||||
@example
|
|
||||||
hello_world_c/o-optimize/<filename>.exe
|
|
||||||
@end example
|
|
||||||
|
|
||||||
How this executable is downloaded to the target board is very dependent
|
|
||||||
on the BOARD_SUPPORT_PACKAGE selected. The following is a list of
|
|
||||||
commonly used BSPs classified by their RTEMS CPU family and pointers
|
commonly used BSPs classified by their RTEMS CPU family and pointers
|
||||||
to instructions on how to use them. [NOTE: All file names should be
|
to instructions on how to use them. [NOTE: All file names should be
|
||||||
prepended with @value{RTEMSUNTAR}/c/src/lib/libbsp.]
|
prepended with @value{RTEMSUNTAR}/c/src/lib/libbsp.]
|
||||||
@@ -69,6 +57,14 @@ prepended with @value{RTEMSUNTAR}/c/src/lib/libbsp.]
|
|||||||
@need 1000
|
@need 1000
|
||||||
@table @b
|
@table @b
|
||||||
|
|
||||||
|
@item arm/edp7312
|
||||||
|
The arm/edp7312 BSP is for the ARM7-based Cogent EDP7312 board.
|
||||||
|
|
||||||
|
@item c4x/c4xsim
|
||||||
|
The c4x/c4xsim BSP is designed to execute on any member of
|
||||||
|
the Texas Instruments C3x/C4x DSP family using only on-CPU
|
||||||
|
peripherals for the console and timers.
|
||||||
|
|
||||||
@item i386/pc386
|
@item i386/pc386
|
||||||
See @code{i386/pc386/HOWTO}
|
See @code{i386/pc386/HOWTO}
|
||||||
|
|
||||||
@@ -93,6 +89,22 @@ See @code{m68k/mvme162/README}.
|
|||||||
@item m68k/mvme167
|
@item m68k/mvme167
|
||||||
See @code{m68k/mvme167/README}.
|
See @code{m68k/mvme167/README}.
|
||||||
|
|
||||||
|
@item mips/jmr3904
|
||||||
|
This is a BSP for the Toshiba TX3904 evaluation board
|
||||||
|
simulator included with @code{mipstx39-rtems-gdb}. The
|
||||||
|
BSP is located in @code{mips/jmr3904}.
|
||||||
|
The TX3904 is a MIPS R3000 class CPU with serial ports and timers
|
||||||
|
integrated with the processor. This BSP can be used with
|
||||||
|
either real hardware or with the simulator included with
|
||||||
|
@code{mipstx39-rtems-gdb}. An application can be run on the simulator
|
||||||
|
by executing the following commands upon entering @code{mipstx39-rtems-gdb}:
|
||||||
|
|
||||||
|
@example
|
||||||
|
target sim --board=jmr3904
|
||||||
|
load
|
||||||
|
run
|
||||||
|
@end example
|
||||||
|
|
||||||
@item powerpc/mcp750
|
@item powerpc/mcp750
|
||||||
See @code{powerpc/motorola_shared/README}.
|
See @code{powerpc/motorola_shared/README}.
|
||||||
|
|
||||||
@@ -121,6 +133,135 @@ run
|
|||||||
RTEMS has many more BSPs and new BSPs for commercial boards and CPUs
|
RTEMS has many more BSPs and new BSPs for commercial boards and CPUs
|
||||||
with on-CPU peripherals are generally welcomed.
|
with on-CPU peripherals are generally welcomed.
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c C/C++ Sample Applications
|
||||||
|
@c
|
||||||
|
@section C/C++ Sample Applications
|
||||||
|
|
||||||
|
The C/C++ sample application set includes a number of simple applications.
|
||||||
|
Some demonstrate some basic functionality in RTEMS such as writing
|
||||||
|
a file, closing it, and reading it back while others can serve as
|
||||||
|
starting points for RTEMS applications or libraries. Start by
|
||||||
|
unarchiving them so you can peruse them. Use a command similar to
|
||||||
|
the following to unarchive the sample applications:
|
||||||
|
|
||||||
|
@example
|
||||||
|
cd tools
|
||||||
|
tar xjf ../archive/examples-VERSION.tgz
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The sample applications most likely to be of interest to you are:
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item hello_world_c - C Hello World application with a simple
|
||||||
|
RTEMS configuration and an entry point not called @code{main()}.
|
||||||
|
|
||||||
|
@item simple_main - Very simple program starting at @code{main()}
|
||||||
|
and shutting down RTEMS via @code{exit()} without any other operations.
|
||||||
|
It uses the default configuration inside RTEMS which is only
|
||||||
|
intended to satisfy @code{autoconf} probes and extremely simple
|
||||||
|
console-based applications.
|
||||||
|
|
||||||
|
@item libcpp - Simple C++ library for RTEMS showing how to build an
|
||||||
|
application library written in C++.
|
||||||
|
|
||||||
|
@item psx_sched_report - POSIX Scheduler Reporter is a program
|
||||||
|
that prints out some scheduler attributes of the RTEMS POSIX API.
|
||||||
|
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
Each tests is found in a separate subdirectory and built using the
|
||||||
|
same command sequence. The @code{hello_world_c} sample will be used
|
||||||
|
as an example.
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c Build the C Hello World Application
|
||||||
|
@c
|
||||||
|
@subheading Build the C Hello World Application
|
||||||
|
|
||||||
|
Use the following command to start the build of the sample hello
|
||||||
|
world application:
|
||||||
|
|
||||||
|
@example
|
||||||
|
cd hello_world_c
|
||||||
|
make
|
||||||
|
@end example
|
||||||
|
|
||||||
|
|
||||||
|
If the sample application has successfully been built, then the application
|
||||||
|
executable is placed in the following directory:
|
||||||
|
|
||||||
|
@example
|
||||||
|
hello_world_c/o-optimize/<filename>.exe
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The other C/C++ sample applications are built using a similar procedure.
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c Ada Sample Applications
|
||||||
|
@c
|
||||||
|
@section Ada Sample Applications
|
||||||
|
|
||||||
|
The Ada sample application set primarily includes a
|
||||||
|
a simple Hello World Ada program which can be used
|
||||||
|
as a starting point for GNAT/RTEMS applications.
|
||||||
|
Use the following command to unarchive the Ada sample
|
||||||
|
applications:
|
||||||
|
|
||||||
|
@example
|
||||||
|
cd tools
|
||||||
|
tar xzf ../archive/hello_world_ada.tgz
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@subheading Create a BSP Specific Makefile
|
||||||
|
|
||||||
|
Currently, the procedure for building and linking an Ada application
|
||||||
|
is a bit more difficult than a C or C++ application. This is certainly
|
||||||
|
an opportunity for a volunteer project.
|
||||||
|
|
||||||
|
At this time, there is a
|
||||||
|
|
||||||
|
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.
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c More Information on RTEMS Application Makefiles
|
||||||
|
@c
|
||||||
@section More Information on RTEMS Application Makefiles
|
@section More Information on RTEMS Application Makefiles
|
||||||
|
|
||||||
The hello world sample application is a simple example of an
|
The hello world sample application is a simple example of an
|
||||||
@@ -131,5 +272,4 @@ capturing the configuration information used to build
|
|||||||
RTEMS specific to your BSP. Building an RTEMS application
|
RTEMS specific to your BSP. Building an RTEMS application
|
||||||
for different BSPs is as simple as switching the
|
for different BSPs is as simple as switching the
|
||||||
setting of @code{RTEMS_MAKEFILE_PATH}. This Makefile
|
setting of @code{RTEMS_MAKEFILE_PATH}. This Makefile
|
||||||
system is described in the file
|
system is described in the file @code{make/README}.
|
||||||
@code{make/README}.
|
|
||||||
|
|||||||
@@ -80,9 +80,9 @@ This is the online version of the Getting Started with RTEMS for C/C++ Users.
|
|||||||
* Introduction::
|
* Introduction::
|
||||||
* Requirements::
|
* Requirements::
|
||||||
* Prebuilt Toolset Executables::
|
* Prebuilt Toolset Executables::
|
||||||
* Building the GNU C/C++ Cross Compiler Toolset::
|
* Building the GNU Cross Compiler Toolset::
|
||||||
* Building RTEMS::
|
* Building RTEMS::
|
||||||
* Building the Sample Application::
|
* Building the Sample Applications::
|
||||||
* Where To Go From Here::
|
* Where To Go From Here::
|
||||||
* Using MS-Windows as a Development Host::
|
* Using MS-Windows as a Development Host::
|
||||||
@end menu
|
@end menu
|
||||||
|
|||||||
Reference in New Issue
Block a user