Changeset 09e4976 in rtems


Ignore:
Timestamp:
Oct 2, 2003, 6:01:35 PM (17 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
5e1d6cb
Parents:
d1344699
Message:

2003-10-02 Joel Sherrill <joel@…>

  • 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.
Location:
doc/started
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • doc/started/ChangeLog

    rd1344699 r09e4976  
     12003-10-02      Joel Sherrill <joel@OARcorp.com>
     2
     3        * Makefile.am, binaries.t, buildc.t, intro.t, nextstep.t, require.t,
     4        sample.t, started.texi: General improvements and merge enough Ada
     5        information to justify dropping the Ada specific manual. There is
     6        likely still Ada specific information to merge though.
     7
    182003-09-26      Joel Sherrill <joel@OARcorp.com>
    29
  • doc/started/Makefile.am

    rd1344699 r09e4976  
    3737        $(BMENU2) -c -p "Archive and Build Directory Format" \
    3838            -u "Top" \
    39             -n "Building the GNU C/C++ Cross Compiler Toolset" < $< > $@
     39            -n "Building the GNU Cross Compiler Toolset" < $< > $@
    4040
    4141buildc.texi: buildc.t tversions.texi
     
    4747        $(BMENU2) -c -p "Error Messages Indicating Configuration Problems" \
    4848            -u "Top" \
    49             -n "Building the Sample Application" < $< > $@
     49            -n "Building the Sample Applications" < $< > $@
    5050
    5151sample.texi: sample.t tversions.texi
  • doc/started/binaries.t

    rd1344699 r09e4976  
    4545@end enumerate
    4646
    47 NOTE: Installing toolset binaries does not install RTEMS itself, only the tools
    48 required to build RTEMS.  See @ref{Building RTEMS} for the next
     47NOTE: Installing toolset binaries does not install RTEMS itself, only
     48the tools required to build RTEMS.  See @ref{Building RTEMS} for the next
    4949step in the process.
    5050
     
    6262rpm -i sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
    6363rpm -i rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
     64rpm -i sparc-rtems-c++-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
    6465rpm -i sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
    6566rpm -i rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
     
    9495rpm -e rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm
    9596rpm -e sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
     97rpm -e sparc-rtems-c++-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
    9698rpm -e rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm
    9799rpm -e sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm
  • doc/started/buildc.t

    rd1344699 r09e4976  
    77@c
    88
    9 @chapter Building the GNU C/C++ Cross Compiler Toolset
     9@chapter Building the GNU Cross Compiler Toolset
    1010
    1111NOTE:  This chapter does @b{NOT} apply if you installed
     
    538538The following example illustrates the invocation of
    539539@code{configure} and @code{make}
    540 to build and install @value{BINUTILSUNTAR} for the
    541 sparc-rtems target:
     540to build and install @value{GCCUNTAR} with only
     541C and C++ support for the sparc-rtems target:
    542542
    543543@example
     
    546546../@value{GCCUNTAR}/configure --target=sparc-rtems \
    547547   --with-gnu-as --with-gnu-ld --with-newlib --verbose \
    548    --enable-threads --prefix=@value{RTEMSPREFIX}
     548   --enable-threads --enable-languages="c,c++" \
     549   --prefix=@value{RTEMSPREFIX}
    549550make all
    550551make info
     
    559560invoke the @value{GCCUNTAR} @code{configure} command with the
    560561@code{--help} option.
     562
     563@c
     564@c Building GCC with Ada Support
     565@c
     566@subheading Building GCC with Ada Support
     567
     568If you want a GCC toolset that includes support for Ada
     569(e.g. GNAT), there are some additional requirements on
     570the host environment and additional build steps to perform.
     571It is critical that you use the same version of GCC/GNAT as
     572the native compiler.  GNAT must be compiled with an Ada compiler
     573and when building a GNAT cross-compiler, it should be
     574the same version of GNAT itself.
     575
     576The build procedure is the same until the configure step.
     577A GCC toolset with GNAT enabled requires that @code{ada}
     578be included in the set of enabled languages.
     579The following example illustrates the invocation of
     580@code{configure} and @code{make}
     581to build and install @value{GCCUNTAR} with only
     582C, C++, and Ada support for the sparc-rtems target:
     583
     584@example
     585mkdir b-gcc
     586cd @value{GCCUNTAR}/gcc/ada
     587touch treeprs.ads [es]info.h nmake.ad[bs]
     588cd ../../../b-gcc
     589../@value{GCCUNTAR}/configure --target=sparc-rtems \
     590   --with-gnu-as --with-gnu-ld --with-newlib --verbose \
     591   --enable-threads --enable-languages="c,c++,ada" \
     592   --prefix=@value{RTEMSPREFIX}
     593make all
     594make info
     595make -C gcc cross-gnattools
     596make -C gcc ada.all.cross
     597make -C gcc GNATLIBCFLAGS="USER_SELECTED_CPU_CFLAGS" gnatlib
     598make install
     599@end example
     600
     601After @value{GCCUNTAR} is built and installed the
     602build directory @code{b-gcc} may be removed.
    561603
    562604@c
     
    578620
    579621@itemize @bullet
    580 @item Sparc Instruction Simulator (SIS)
    581 @item PowerPC Instruction Simulator (PSIM)
    582 @item DINK32
    583 @item BDM with 68360 and MPC860 CPUs
     622@item BDM with ColdFire, 683xx, MPC860 CPUs
    584623@item Motorola Mxxxbug found on M68xxx VME boards
    585 @item Motorola PPCbug found on PowerPC VME and CompactPCI boards
     624@item Motorola PPCbug found on PowerPC VME, CompactPCI, and MTX boards
     625@item ARM based Cogent EDP7312
     626@item PC's using various Intel and AMD CPUs including i386,
     627i486, Pentium and above, and Athlon
     628@item PowerPC Instruction Simulator in GDB (PSIM)
     629@item MIPS Instruction Simulator in GDB (JMR3904)
     630@item Sparc Instruction Simulator in GDB (SIS)
     631@item Sparc Instruction Simulator (TSIM)
     632@item DINK32 on various PowerPC boards
    586633@end itemize
    587634
  • doc/started/intro.t

    rd1344699 r09e4976  
    1717
    1818@itemize @bullet
    19 @item GNU C/C++ Cross Compilation Tools for RTEMS on your build-host system
     19@item GNU Cross Compilation Tools for RTEMS on your build-host system
    2020@item RTEMS OS for the target
    2121@item GDB Debugger
  • doc/started/nextstep.t

    rd1344699 r09e4976  
    1111
    1212At this point, you should have successfully installed a
    13 GNU C/C++ Cross Compilation Tools for RTEMS on your host system
     13GNU Cross Compilation Tools for RTEMS on your host system
    1414as well as the RTEMS OS for the target host.  You should
    1515have successfully linked the "hello world" program. You
     
    5353@end itemize
    5454
    55 In addition, the following manuals from the GNU C/C++ Cross
     55In addition, the following manuals from the GNU Cross
    5656Compilation Toolset include information on run-time services
    5757available.
  • doc/started/require.t

    rd1344699 r09e4976  
    1010
    1111This chapter describes the build-host system requirements and initial steps
    12 in installing the GNU C/C++ Cross Compiler Tools and RTEMS on a build-host.
     12in installing the GNU Cross Compiler Tools and RTEMS on a build-host.
    1313
    1414@section Disk Space
  • doc/started/sample.t

    rd1344699 r09e4976  
    77@c
    88
    9 @chapter Building the Sample Application
    10 
    11 @section Unarchive the Sample Application
    12 
    13 Use the following command to unarchive the sample application:
    14 
    15 @example
    16 cd tools
    17 tar xzf ../archive/hello_world_c.tgz
    18 @end example
    19 
     9@chapter Building the Sample Applications
     10
     11The RTEMS distribution includes a number of sample C, C++,
     12Ada, and networking applications.  This chapter will provide
     13an overview of those sample applications.
     14
     15@c
     16@c Set the Environment Variable RTEMS_MAKEFILE_PATH
     17@c
    2018@section Set the Environment Variable RTEMS_MAKEFILE_PATH
    2119
    22 RTEMS_MAKEFILE_PATH must point to the appropriate directory containing
    23 RTEMS build for our target and board support package combination.
     20The sample application sets use the RTEMS Application Makefiles.
     21This requires that the environment variable
     22@code{RTEMS_MAKEFILE_PATH} point to the appropriate directory containing
     23the installed RTEMS image built to target your particular CPU and
     24board support package combination.
    2425
    2526@example
     
    3435was changed to be more in compliance with GNU standards.
    3536
    36 @section Build the Sample Application
    37 
    38 Use the following command to start the build of the sample hello
    39 world application:
    40 
    41 @example
    42 cd hello_world_c
    43 make
    44 @end example
    45 
    4637NOTE: GNU make is the preferred @code{make} utility.  Other @code{make}
    4738implementations may work but all testing is done with GNU make.
    4839
    4940If no errors are detected during the sample application build, it is
    50 reasonable to assume that the build of the GNU C/C++ Cross Compiler Tools
     41reasonable to assume that the build of the GNU Cross Compiler Tools
    5142for RTEMS and RTEMS itself for the selected host and target
    5243combination was done properly.
    5344
    54 @section Application Executable
    55 
    56 If the sample application has successfully been built, then the application
    57 executable is placed in the following directory:
    58 
    59 @example
    60 hello_world_c/o-optimize/<filename>.exe
    61 @end example
    62 
    63 How this executable is downloaded to the target board is very dependent
    64 on the BOARD_SUPPORT_PACKAGE selected.  The following is a list of
     45@c
     46@c Executing the Sample Applications
     47@c
     48@section Executing the Sample Applications
     49
     50How each sample application executable is downloaded
     51to your target board and executed is very dependent
     52on the board you are using.  The following is a list of
    6553commonly used BSPs classified by their RTEMS CPU family and pointers
    6654to instructions on how to use them.  [NOTE: All file names should be
     
    7058@table @b
    7159
     60@item arm/edp7312
     61The arm/edp7312 BSP is for the ARM7-based Cogent EDP7312 board.
     62
     63@item c4x/c4xsim
     64The c4x/c4xsim BSP is designed to execute on any member of
     65the Texas Instruments C3x/C4x DSP family using only on-CPU
     66peripherals for the console and timers.
     67
    7268@item i386/pc386
    7369See @code{i386/pc386/HOWTO}
     
    9389@item m68k/mvme167
    9490See @code{m68k/mvme167/README}.
     91
     92@item mips/jmr3904
     93This is a BSP for the Toshiba TX3904 evaluation board
     94simulator included with @code{mipstx39-rtems-gdb}.  The
     95BSP is located in @code{mips/jmr3904}.
     96The TX3904 is a MIPS R3000 class CPU with serial ports and timers
     97integrated with the processor.  This BSP can be used with
     98either real  hardware or with the simulator included with
     99@code{mipstx39-rtems-gdb}.  An application can be run on the simulator
     100by executing the following commands upon entering @code{mipstx39-rtems-gdb}:
     101
     102@example
     103target sim --board=jmr3904
     104load
     105run
     106@end example
    95107
    96108@item powerpc/mcp750
     
    122134with on-CPU peripherals are generally welcomed.
    123135
     136@c
     137@c  C/C++ Sample Applications
     138@c
     139@section C/C++ Sample Applications
     140
     141The C/C++ sample application set includes a number of simple applications.
     142Some demonstrate some basic functionality in RTEMS such as writing
     143a file, closing it, and reading it back while others can serve as
     144starting points for RTEMS applications or libraries.  Start by
     145unarchiving them so you can peruse them.  Use a command similar to
     146the following to unarchive the sample applications:
     147
     148@example
     149cd tools
     150tar xjf ../archive/examples-VERSION.tgz
     151@end example
     152
     153The sample applications most likely to be of interest to you are:
     154
     155@itemize @bullet
     156@item hello_world_c - C Hello World application with a simple
     157RTEMS configuration and an entry point not called @code{main()}.
     158
     159@item simple_main - Very simple program starting at @code{main()}
     160and shutting down RTEMS via @code{exit()} without any other operations.
     161It uses the default configuration inside RTEMS which is only
     162intended to satisfy @code{autoconf} probes and extremely simple
     163console-based applications.
     164
     165@item libcpp - Simple C++ library for RTEMS showing how to build an
     166application library written in C++.
     167
     168@item psx_sched_report - POSIX Scheduler Reporter is a program
     169that prints out some scheduler attributes of the RTEMS POSIX API.
     170
     171@end itemize
     172
     173Each tests is found in a separate subdirectory and built using the
     174same command sequence.  The @code{hello_world_c} sample will be used
     175as an example.
     176
     177@c
     178@c Build the C Hello World Application
     179@c
     180@subheading Build the C Hello World Application
     181
     182Use the following command to start the build of the sample hello
     183world application:
     184
     185@example
     186cd hello_world_c
     187make
     188@end example
     189
     190
     191If the sample application has successfully been built, then the application
     192executable is placed in the following directory:
     193
     194@example
     195hello_world_c/o-optimize/<filename>.exe
     196@end example
     197
     198The other C/C++ sample applications are built using a similar procedure.
     199
     200@c
     201@c  Ada Sample Applications
     202@c
     203@section Ada Sample Applications
     204
     205The Ada sample application set primarily includes a
     206a simple Hello World Ada program which can be used
     207as a starting point for GNAT/RTEMS applications.
     208Use the following command to unarchive the Ada sample
     209applications:
     210
     211@example
     212cd tools
     213tar xzf ../archive/hello_world_ada.tgz
     214@end example
     215
     216@subheading Create a BSP Specific Makefile
     217
     218Currently, the procedure for building and linking an Ada application
     219is a bit more difficult than a C or C++ application.  This is certainly
     220an opportunity for a volunteer project.
     221
     222At this time, there is a
     223
     224Provided are example Makefiles for multiple BSPs.  Copy one of these to
     225the file Makefile.<BOARD_SUPPORT_PACKAGE> and edit it as appropriate for
     226your local configuration.
     227
     228Use the  <INSTALLATION_POINT> and <BOARD_SUPPORT_PACKAGE> specified when
     229configuring and installing RTEMS.
     230
     231@section Build the Sample Application
     232
     233Use the following command to start the build of the sample application:
     234
     235@example
     236cd tools/hello_world_ada
     237make -f Makefile.<BOARD_SUPPORT_PACKAGE>
     238@end example
     239
     240NOTE: GNU make is the preferred @code{make} utility.  Other @code{make}
     241implementations may work but all testing is done with GNU make.
     242
     243If the BSP specific modifications to the Makefile were correct and
     244no errors are detected during the sample application build, it is
     245reasonable to assume that the build of the GNAT/RTEMS Cross Compiler Tools
     246for RTEMS and RTEMS itself for the selected host and target
     247combination was done properly.
     248
     249@section Application Executable
     250
     251If the sample application has successfully been build, then the application
     252executable is placed in the following directory:
     253
     254@example
     255tools/hello_world_ada/o-optimize/<filename>.exe
     256@end example
     257
     258How this executable is downloaded to the target board is very dependent
     259on the BOARD_SUPPORT_PACKAGE selected.
     260----------------------------------------------------
     261
     262@c
     263@c More Information on RTEMS Application Makefiles
     264@c
    124265@section More Information on RTEMS Application Makefiles
    125266
     
    132273for different BSPs is as simple as switching the
    133274setting of @code{RTEMS_MAKEFILE_PATH}.  This Makefile
    134 system is described in the file
    135 @code{make/README}.
     275system is described in the file @code{make/README}.
  • doc/started/started.texi

    rd1344699 r09e4976  
    8181* Requirements::
    8282* Prebuilt Toolset Executables::
    83 * Building the GNU C/C++ Cross Compiler Toolset::
     83* Building the GNU Cross Compiler Toolset::
    8484* Building RTEMS::
    85 * Building the Sample Application::
     85* Building the Sample Applications::
    8686* Where To Go From Here::
    8787* Using MS-Windows as a Development Host::
Note: See TracChangeset for help on using the changeset viewer.