Changeset 818ab36a in rtems


Ignore:
Timestamp:
Mar 24, 2003, 4:40:49 PM (19 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
81aa167
Parents:
b2eb323
Message:

2003-03-24 Joel Sherrill <joel@…>

  • direct.t, sample.t, utils.t: Significantly updated.
Location:
doc/develenv
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • doc/develenv/ChangeLog

    rb2eb323 r818ab36a  
     12003-03-24      Joel Sherrill <joel@OARcorp.com>
     2
     3        * direct.t, sample.t, utils.t: Significantly updated.
     4
    152003-02-28      Joel Sherrill <joel@OARcorp.com>
    26
  • doc/develenv/direct.t

    rb2eb323 r818ab36a  
    3939processor memory may be very limited.  For the first target, the
    4040options could specify very strict alignment requirements, while
    41 on the second the data structures could be "packed" to conserve
     41on the second the data structures could be @i{packed} to conserve
    4242memory.  It is impossible to achieve this degree of flexibility
    4343without providing source code.
    4444
    45 @c
    46 @c  Directory Organization
    47 @c
    48 @section Directory Organization
    49 
    50 The RTEMS source tree is organized based on the
    51 following variables:
     45The RTEMS source tree is organized based on the following variables:
    5246
    5347@itemize @bullet
     
    182176@c  c/ Directions
    183177@c
    184 @subsection c/ Directory
     178@section c/ Directory
    185179
    186180The @code{$@{RTEMS_ROOT@}/c/} directory was formerly
     
    211205@c c/src/ Directory
    212206@c
    213 @subsubsection c/src/ Directory
     207@subsection c/src/ Directory
    214208
    215209As mentioned previously, this directory is logically
     
    225219
    226220@item $@{RTEMS_ROOT@}/c/src/lib/
     221This directory contains the directories @code{libbsp}
     222and @code{libcpu/} which contain the source code for
     223the Board Support Packages (BSPs) and CPU Model
     224specific source code for RTEMS. 
     225
     226The @code{libbsp/} is organized based upon the CPU
     227family and boards BSPs.  The contents of @code{libbsp/}
     228are discussed briefly in
     229@ref{Directory Structure c/src/lib/libbsp BSP Directory}
     230and presented in detail in the
     231@b{RTEMS BSP and Device Driver Development Guide}.
     232
     233The @code{libcpu/} directory is also organized by
     234CPU family with further divisions based upon CPU
     235model and features that are shared across CPU models
     236such as caching and DMA.
    227237
    228238@item $@{RTEMS_ROOT@}/c/src/libchip/
     
    255265
    256266@item $@{RTEMS_ROOT@}/c/src/librtems++/
     267This directory contains C++ classes which map to the RTEMS
     268Classic API.
    257269
    258270@item $@{RTEMS_ROOT@}/c/src/make/
     271This directory is used to generate the bulk of the supporting
     272rules files which are installed as part of the Application Makefiles.
     273This file contains settings for various Makefile variables to
     274tailor them to the particular CPU model and BSP configured.
    259275
    260276@item $@{RTEMS_ROOT@}/c/src/optman/
     277This directory contains stubs for the RTEMS Classic API
     278Managers which are considered optional and whose use
     279may be explicitly forbidden by an application.  All of the
     280directive implementations in this Optional Managers
     281return @code{E_NOTCONFIGURED}.
    261282
    262283@item $@{RTEMS_ROOT@}/c/src/tests/
     
    264285various RTEMS APIs and support libraries.  This
    265286contents of this directory are discussed in the
    266 @ref{Directory Structure Test Suites} section.
     287@ref{Directory Structure c/src/tests/ Test Suites} section.
    267288
    268289@item $@{RTEMS_ROOT@}/c/src/wrapup/
     290This directory is responsible for taking the individual
     291libraries and objects built in each of the components
     292in the RTEMS source tree and bundling them together to form
     293the single RTEMS library @code{librtemsbsp.a}.  This
     294library contains all BSP and CPU model specific software.
    269295
    270296@end table
    271297
    272298@c
    273 @c  Test Suites
    274 @c
    275 @lowersections
    276 @subsubsection Test Suites
    277 
    278 The following table lists the test suites currently included with the
    279 RTEMS and the directory in which they may be located:
    280 
    281 @table @code
    282 
    283 @item @{RTEMS_ROOT@}c/src/tests/itrontests
    284 ITRON API Tests
    285 
    286 @item @{RTEMS_ROOT@}c/src/tests/libtests
    287 Support Library Tests
    288 
    289 @item @{RTEMS_ROOT@}c/src/tests/mptests
    290 Classic API Multiprocessor Tests
    291 
    292 @item @{RTEMS_ROOT@}c/src/tests/psxtests
    293 POSIX API Tests
    294 
    295 @item @{RTEMS_ROOT@}c/src/tests/samples
    296 Sample Applications
    297 
    298 @item @{RTEMS_ROOT@}c/src/tests/sptests
    299 Classic API Single Processor Tests
    300 
    301 @item @{RTEMS_ROOT@}c/src/tests/support
    302 Test Support Software
    303 
    304 @item @{RTEMS_ROOT@}c/src/tests/tmitrontests
    305 ITRON API Timing Tests
    306 
    307 @item @{RTEMS_ROOT@}c/src/tests/tmtests
    308 Classic API Timing Tests
    309 
    310 @item @{RTEMS_ROOT@}c/src/tests/tools
    311 XXX
    312 
    313 @end table
    314 
    315 @raisesections
    316 
    317 
    318 @c
    319 @c  CPUKit Directory
    320 @c
    321 @subsection CPUKit Directory
    322 
    323 The @code{cpukit/} directory structure is as follows:
    324 
    325 @c
    326 @c  CPUKit Tree
    327 @c
    328 
    329 @ifset use-ascii
    330 @example
    331 @group
    332                        CPUKit
    333                          |
    334   +-----------+----------+-----------+----------+
    335   |           |          |           |          |
    336 posix       rtems       sapi       score     wrapup
    337 @end group
    338 @end example
    339 @end ifset
    340 
    341 This directory contains a set of subdirectories which
    342 contains the source files comprising the executive portion of
    343 the RTEMS development environment as well as portable support
    344 libraries such as support for the C Library and filesystems.
    345 The API specific and "SuperCore" (e.g. @code{score/} directory)
    346 source code files are separated into
    347 distinct directory trees.  The @code{rtems/}, @code{posix/}, and
    348 @code{itron/} subdirectories contain the C language source files for each
    349 module comprising the respective API.  Also included in this
    350 directory are the subdirectories @code{sapi/} and @code{score/} which are
    351 the SuperCore modules.  Within the @code{score/} directory the CPU
    352 dependent modules are found.
    353 
    354 The @code{score/cpu/} subdirectory contains a subdirectory for each
    355 target CPU supported by the @value{RELEASE} release of the RTEMS
    356 executive.  Each processor directory contains the CPU dependent
    357 code necessary to host RTEMS.  The "no_cpu" directory provides a
    358 starting point for developing a new port to an unsupported
    359 processor.  The files contained within the "no_cpu" directory
    360 may also be used as a reference for the other ports to specific
    361 processors.
    362 
    363 
    364 @c
    365 @c 
    366 @c
    367 @subsection Documentation Directory
    368 
    369 XXX
    370 
    371 @c
    372 @c 
    373 @c
    374 @subsection Support Library Source Directory
    375 
    376 The "lib" directory contains the support libraries and BSPS. 
    377 Board support packages (BSPs), processor environment start up code,
    378 C library support, the FreeBSD TCP/IP stack, common BSP header files,
    379 and miscellaneous support functions are provided in the subdirectories.
    380 These are combined with the RTEMS executive object to form the single
    381 RTEMS library which installed. 
    382 
    383 @c
    384 @c  Tree 6 - Libraries
    385 @c
    386 
     299@c  c/src/lib/libbsp BSP Directory
     300@c
     301
     302@subsubsection c/src/lib/libbsp BSP Directory
    387303
    388304The "libbsp" directory contains a directory for each CPU family supported
     
    420336@c
    421337
    422 @ifset use-ascii
     338@c @ifset use-ascii
    423339@example
    424340@group
     
    430346@end group
    431347@end example
    432 @end ifset
    433 
    434 @ifset use-tex
    435 @sp 1
    436 
    437 @tex
    438 {\parskip=0pt\offinterlineskip%
    439 \hskip 10.0em
    440 \hskip 10.25em\hbox to 4.50em{\hss{Each BSP}\hss}%
    441 \vrule width0em height1.972ex depth0.812ex\par\penalty10000
    442 \hskip 10.0em
    443 \hskip 12.50em\vrule width.04em%
    444 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    445 \hskip 10.0em
    446 \hskip 1.25em\vrule width11.25em height-0.407ex depth0.500ex%
    447 \vrule width.04em\vrule width11.25em height-0.407ex depth0.500ex%
    448 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    449 \hskip 10.0em
    450 \hskip 1.25em\vrule width.04em%
    451 \hskip 4.46em\vrule width.04em%
    452 \hskip 4.46em\vrule width.04em%
    453 \hskip 4.46em\vrule width.04em%
    454 \hskip 4.46em\vrule width.04em%
    455 \hskip 4.46em\vrule width.04em%
    456 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    457 \hskip 10.0em
    458 \hskip 0.00em\hbox to 2.50em{\hss{clock}\hss}%
    459 \hskip 1.50em\hbox to 3.50em{\hss{console}\hss}%
    460 \hskip 1.00em\hbox to 3.50em{\hss{include}\hss}%
    461 \hskip 1.00em\hbox to 3.50em{\hss{shmsupp}\hss}%
    462 \hskip 1.00em\hbox to 3.50em{\hss{startup}\hss}%
    463 \hskip 1.50em\hbox to 2.50em{\hss{timer}\hss}%
    464 \vrule width0em height1.972ex depth0.812ex\par}
    465 @end tex
    466 @end ifset
    467 
    468 @ifset use-html
    469 @example
    470 @group
    471                            Each BSP
    472                                |
    473   +-----------+----------+-----+-----+----------+----------+
    474   |           |          |           |          |          |
    475 clock      console    include       ...      startup     timer
    476 @end group
    477 @end example
    478 @html
    479 @end html
    480 @end ifset
    481 
    482 @c
    483 @c 
    484 @c
    485 @subsection Test Suite Source Directory
    486 
    487 The "tests" directory structure for the C
    488 implementation is as follows:
    489 
    490 @c
    491 @c  Tree 9 - C Tests
    492 @c
    493 
    494 @ifset use-ascii
    495 @example
    496 @group
    497                                 C Tests
    498                                    |
    499    +----------+---------+----------+---------+---------+---------+
    500    |          |         |          |         |         |         |
    501 libtests   sptests   support    tmtests   mptests   psxtest   samples
    502 @end group
    503 @end example
    504 @end ifset
    505 
    506 @ifset use-tex
    507 @sp 1
    508 
    509 @tex
    510 {\parskip=0pt\offinterlineskip%
    511 \hskip 05.0em
    512 \hskip 14.50em\hbox to 3.50em{\hss{C Tests}\hss}%
    513 \vrule width0em height1.972ex depth0.812ex\par\penalty10000
    514 \hskip 05.0em
    515 \hskip 16.25em\vrule width.04em%
    516 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    517 \hskip 05.0em
    518 \hskip 2.00em\vrule width14.25em height-0.407ex depth0.500ex%
    519 \vrule width.04em\vrule width14.25em height-0.407ex depth0.500ex%
    520 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    521 \hskip 05.0em
    522 \hskip 2.00em\vrule width.04em%
    523 \hskip 4.71em\vrule width.04em%
    524 \hskip 4.71em\vrule width.04em%
    525 \hskip 4.71em\vrule width.04em%
    526 \hskip 4.71em\vrule width.04em%
    527 \hskip 4.71em\vrule width.04em%
    528 \hskip 4.71em\vrule width.04em%
    529 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    530 \hskip 05.0em
    531 \hskip 0.00em\hbox to 4.00em{\hss{libtests}\hss}%
    532 \hskip 1.00em\hbox to 3.50em{\hss{sptests}\hss}%
    533 \hskip 1.25em\hbox to 3.50em{\hss{support}\hss}%
    534 \hskip 1.25em\hbox to 3.50em{\hss{tmtests}\hss}%
    535 \hskip 1.25em\hbox to 3.50em{\hss{mptests}\hss}%
    536 \hskip 1.75em\hbox to 2.50em{\hss{tools}\hss}%
    537 \hskip 1.75em\hbox to 3.50em{\hss{samples}\hss}%
    538 \vrule width0em height1.972ex depth0.812ex\par}
    539 @end tex
    540 @end ifset
    541 
    542 @ifset use-html
    543 @example
    544 @group
    545                                 C Tests
    546                                    |
    547    +----------+---------+----------+---------+---------+---------+
    548    |          |         |          |         |         |         |
    549 libtests   sptests   support    tmtests   mptests    tools    samples
    550 @end group
    551 @end example
    552 @html
    553 @end html
    554 @end ifset
    555 
    556 This directory provides the entire RTEMS Test Suite
    557 which includes the single processor tests, multiprocessor tests,
     348@c @end ifset
     349
     350@c
     351@c  c/src/tests/ Test Suites
     352@c
     353@subsection c/src/tests/ Test Suites
     354
     355This directory provides all of the RTEMS Test Suite
     356except those for the Classic API Ada95 binding
     357This includes the single processor tests, multiprocessor tests,
    558358timing tests, library tests, and sample tests.   Additionally,
    559359subdirectories for support functions and test related header
    560 files are provided.
    561 
    562 The "sptests" subdirectory consists of twenty-four
    563 tests designed to cover the entire executive code.  The
    564 "spfatal" test will verify any code associated with the
    565 occurrence of a fatal error.   Also provided is a test which
    566 will determine the size of the RTEMS executive.
    567 
    568 The multiprocessor test are provided in "mptests".
    569 Fourteen tests are provided in this subdirectory which address
    570 two node configurations and cover the multiprocessor code found
     360files are provided.  The following table lists the test suites
     361currently included with the RTEMS and the directory in which
     362they may be located:
     363
     364@table @code
     365
     366@item $@{RTEMS_ROOT@}/c/src/tests/itrontests/
     367This directory contains the test suite for the
     368RTEMS ITRON API.
     369
     370@item $@{RTEMS_ROOT@}/c/src/tests/libtests/
     371This directory contains the test suite for the
     372various RTEMS support components.
     373
     374@item $@{RTEMS_ROOT@}/c/src/tests/mptests/
     375This directory contains the test suite for the
     376multiprocessor support in the Classic API.
     377The tests provided address two node configurations
     378and provide coverage for the multiprocessor code found
    571379in RTEMS.
    572380
    573 Tests that time each directive and a set of critical
    574 executive functions are provided in the "tmtests" subdirectory.
    575 Within this subdirectory  thirty-one tests are provided along
    576 with a subdirectory to contain each targets timing results.
    577 
    578 The "samples" directory structure for the C
    579 implementation is as follows:
    580 
    581 @c
    582 @c  Tree 10 - C Samples
    583 @c
    584 
    585 @ifset use-ascii
    586 @example
    587 @group
    588                             C Samples
    589                                 |
    590    +-----------+----------+-----+-----+----------+----------+
    591    |           |          |           |          |          |
    592 base_mp     base_sp    cdtest       hello     paranoia    ticker
    593 @end group
    594 @end example
    595 @end ifset
    596 
    597 @ifset use-tex
    598 @sp 1
    599 
    600 @tex
    601 {\parskip=0pt\offinterlineskip%
    602 \hskip 05.0em
    603 \hskip 12.25em\hbox to 4.50em{\hss{C Samples}\hss}%
    604 \vrule width0em height1.972ex depth0.812ex\par\penalty10000
    605 \hskip 05.0em
    606 \hskip 14.50em\vrule width.04em%
    607 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    608 \hskip 05.0em
    609 \hskip 2.00em\vrule width12.50em height-0.407ex depth0.500ex%
    610 \vrule width.04em\vrule width12.50em height-0.407ex depth0.500ex%
    611 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    612 \hskip 05.0em
    613 \hskip 2.00em\vrule width.04em%
    614 \hskip 4.96em\vrule width.04em%
    615 \hskip 4.96em\vrule width.04em%
    616 \hskip 4.96em\vrule width.04em%
    617 \hskip 4.96em\vrule width.04em%
    618 \hskip 4.96em\vrule width.04em%
    619 \vrule width0em height1.500ex depth0.500ex\par\penalty10000
    620 \hskip 05.0em
    621 \hskip 0.00em\hbox to 4.00em{\hss{base\_mp}\hss}%
    622 \hskip 1.00em\hbox to 4.00em{\hss{base\_sp}\hss}%
    623 \hskip 1.50em\hbox to 3.00em{\hss{cdtest}\hss}%
    624 \hskip 2.25em\hbox to 2.50em{\hss{hello}\hss}%
    625 \hskip 1.75em\hbox to 4.00em{\hss{paranoia}\hss}%
    626 \hskip 1.50em\hbox to 3.00em{\hss{ticker}\hss}%
    627 \vrule width0em height1.972ex depth0.812ex\par}
    628 @end tex
    629 @end ifset
    630 
    631 @ifset use-html
    632 @example
    633 @group
    634                             C Samples
    635                                 |
    636    +-----------+----------+-----+-----+----------+----------+
    637    |           |          |           |          |          |
    638 base_mp     base_sp    cdtest       hello     paranoia    ticker
    639 @end group
    640 @end example
    641 @html
    642 @end html
    643 @end ifset
    644 
     381@item $@{RTEMS_ROOT@}/c/src/tests/psxtests/
     382This directory contains the test suite for the
     383RTEMS POSIX API.
     384
     385@item $@{RTEMS_ROOT@}/c/src/tests/samples/
    645386This directory provides sample application tests
    646387which aid in the testing a newly built RTEMS environment, a new
    647388BSP, or as starting points for the development of an application
    648 using the RTEMS executive.  A Hello World test is provided in
    649 the subdirectory "hello".  This test is helpful when testing new
    650 versions of RTEMS, BSPs, or modifications to any portion of the
    651 RTEMS development environment.  The "ticker" subdirectory
    652 provides a test for verification of clock chip device drivers of
    653 BSPs.  A simple single processor test similar to those in the
    654 single processor test suite is provided in "base_sp".  A simple
    655 two node multiprocessor test capable of testing an newly
    656 developed MPCI layer is provided in "base_mp".  The "cdtest"
    657 subdirectory provides a simple C++ application using
    658 constructors and destructors.   The final sample test is a
    659 public domain floating point and math library toolset test is
    660 provided in "paranoia".
     389using the RTEMS executive.  They are discussed in
     390@ref{Sample Applications}.
     391
     392@item $@{RTEMS_ROOT@}/c/src/tests/sptests/
     393This directory contains the test suite for the RTEMS
     394Classic API when executing on a single processor.
     395The tests were originally designed to provide
     396near complete test coverage for the the entire
     397executive code.  With the addition of multiple APIs,
     398this is no longer the case as some SuperCore functionality
     399is not available through the Classic API.  Thus
     400some functionality in the SuperCore is only covered
     401by tests in the POSIX API and ITRON API Test Suites.
     402
     403@item $@{RTEMS_ROOT@}/c/src/tests/support/
     404This directory contains support software and header files
     405for the various test suites.
     406
     407@item $@{RTEMS_ROOT@}/c/src/tests/tmitrontests/
     408This directory contains the timing test suite for
     409the RTEMS ITRON API.
     410
     411@item $@{RTEMS_ROOT@}/c/src/tests/tmtests/
     412This directory contains the timing test suite for
     413the RTEMS Classic API.  This include tests that
     414benchmark each directive in the Classic API
     415as well as a set of critical SuperCore functions.
     416These tests are important for helping to verify
     417that RTEMS performs as expected on your target hardware.
     418It is not uncommon to discover mistakes in board
     419initialization such as caching being disabled as
     420a side-effect of analyzing the results of these tests.
     421
     422@item $@{RTEMS_ROOT@}/c/src/tests/tools/
     423This directory contains tools which execute on
     424the development host and aid in executing and
     425evaluating the results of the test suite.  The
     426tools @code{difftest} compares the output of one
     427or more tests with the expected output.  If you
     428place the output of all the @code{tmtests/} in
     429a single file, then the utility @code{sorttimes}
     430will be able to produce a report organizing the
     431execution times by manager.
     432
     433@end table
     434
     435
     436@c
     437@c  CPUKit Directory
     438@c
     439@section CPUKit Directory
     440
     441@c The @code{cpukit/} directory structure is as follows:
     442
     443@c
     444@c  CPUKit Tree
     445@c
     446
     447@c @ifset use-ascii
     448@c @example
     449@c @group
     450@c                        CPUKit
     451@c                          |
     452@c   +-----------+----------+-----------+----------+
     453@c   |           |          |           |          |
     454@c posix       rtems       sapi       score     wrapup
     455@c @end group
     456@c @end example
     457@c @end ifset
     458
     459The @code{cpukit/} directory contains a set of subdirectories which
     460contains the source files comprising the executive portion of
     461the RTEMS development environment as well as portable support
     462libraries such as support for the C Library and filesystems.
     463The API specific and "SuperCore" (e.g. @code{score/} directory)
     464source code files are separated into distinct directory trees.
     465
     466The following is a description of each of the subdirectories
     467under @code{cpukit/}:
     468
     469@table @code
     470
     471@item $@{RTEMS_ROOT@}/cpukit/aclocal/
     472This directory contains the custom M4 macros which are available to
     473the various GNU autoconf @code{configure.ac} scripts throughout
     474the CPU Kit portion of the RTEMS source tree.
     475GNU autoconf interprets @code{configure.ac}
     476files to produce the @code{configure} files used to tailor
     477RTEMS build for a particular host and target environment.  The
     478contents of this directory will not be discussed further in this
     479document.
     480
     481@item $@{RTEMS_ROOT@}/cpukit/ada/
     482This directory contains the Ada95 language bindings to the
     483RTEMS Classic API.
     484
     485@item $@{RTEMS_ROOT@}/cpukit/automake/
     486This directory contains files which are "Makefile fragments."
     487They are included as required by the various @code{Makefile.am}
     488files throughout the CPU Kit portion of the RTEMS source tree.
     489
     490@item $@{RTEMS_ROOT@}/cpukit/include/
     491This directory contains header files which are private to
     492RTEMS and not considered to be owned by any other component
     493in the CPU Kit.
     494
     495@item $@{RTEMS_ROOT@}/cpukit/itron/
     496This directory contains the implementation of the
     497ITRON API.
     498
     499@item $@{RTEMS_ROOT@}/cpukit/libblock/
     500This directory contains support code for using
     501Block Devices such as hard drives, floppies, and
     502CD-ROMs.  It includes the generic IO primitives
     503for block device drivers, disk caching support,
     504and a RAM disk block device driver.
     505
     506@item $@{RTEMS_ROOT@}/cpukit/libcsupport/
     507This directory contains the RTEMS specific support routines
     508for the Newlib C Library.  This includes what are referred
     509to as system calls and found in section 2 of the traditional
     510UNIX manual.   In addition, it contains a thread-safe
     511implementation of the Malloc family of routines as well
     512as BSD and POSIX services not found in Newlib.
     513
     514@item $@{RTEMS_ROOT@}/cpukit/libfs/
     515This directory contains the various non-networked
     516filesystem implementations for RTEMS.  It includes
     517the In-Memory FileSystem (IMFS), the mini-IMFS,
     518and FAT filesystems.
     519
     520@item $@{RTEMS_ROOT@}/cpukit/libnetworking/
     521This directory contains the port of the FreeBSD
     522TCP/IP stack to RTEMS.
     523
     524@item $@{RTEMS_ROOT@}/cpukit/librpc/
     525This directory contains the port of the FreeBSD
     526RPC/XDR source to RTEMS.
     527
     528@item $@{RTEMS_ROOT@}/cpukit/posix/
     529This directory contains the RTEMS implementation
     530of the threading portions of the POSIX API. 
     531
     532@item $@{RTEMS_ROOT@}/cpukit/rtems/
     533This directory contains the implementation of the
     534Classic API.
     535
     536@item $@{RTEMS_ROOT@}/cpukit/sapi/
     537This directory contains the implementation of RTEMS
     538services which are required but beyond the realm
     539of any standardization efforts.  It includes
     540initialization, shutdown, and IO services.
     541
     542@item $@{RTEMS_ROOT@}/cpukit/score/
     543This directory contains the "SuperCore" of RTEMS.
     544All APIs are implemented in terms of SuperCore services.
     545For example, Classic API tasks, POSIX threads, and ITRON
     546tasks are all implemented in terms of SuperCore threads.
     547This provides a common infrastructure and a high degree
     548of interoperability between the APIs.  For example,
     549services from all APIs may be used by any task/thread
     550independent of the API used to create it.
     551
     552Within the @code{score/} directory the CPU dependent modules are found.
     553The @code{score/cpu/} subdirectory contains a subdirectory for each
     554target CPU supported by the @value{RELEASE} release of the RTEMS
     555executive.  Each processor directory contains the CPU dependent
     556code necessary to host RTEMS.  The @code{no_cpu} directory provides a
     557starting point for developing a new port to an unsupported
     558processor.  The files contained within the @code{no_cpu} directory
     559may also be used as a reference for the other ports to specific
     560processors.
     561
     562@item $@{RTEMS_ROOT@}/cpukit/wrapup/
     563This directory is responsible for taking the individual
     564libraries and objects built in each of the components
     565in the RTEMS CPU Kit source tree and bundling them
     566together to form the single RTEMS library @code{librtemscpu.a}.  This
     567library contains all BSP and CPU model specific software.
     568
     569@end table
     570
     571@c
     572@c  Documentation Directory
     573@c
     574@section Documentation Directory
     575
     576This directory contains the source code for all RTEMS documentation
     577in @code{TexInfo} format as well as utilities used in the generation
     578of the RTEMS documentation set.  This source code is used to produce
     579the RTEMS documentation in various formats including PDF, HTML,
     580and PostScript.
     581
     582@table @code
     583
     584@item $@{RTEMS_ROOT@}/doc/FAQ/
     585This directory contains the source code for the @cite{RTEMS Frequently Asked
     586Questions (FAQ) Collection}.
     587
     588@item $@{RTEMS_ROOT@}/doc/user/
     589This directory contains the source code for the @cite{RTEMS
     590Applications C User's Guide} which documents the Classic API.
     591
     592@item $@{RTEMS_ROOT@}/doc/ada_user/
     593This directory contains the source code for the @cite{RTEMS
     594Applications Ada User's Guide} which documents the Ada95
     595binding to the Classic API.  This manual is produced from
     596from the same source base as the @cite{RTEMS Application
     597C User's Guide}.
     598
     599@item $@{RTEMS_ROOT@}/doc/bsp_howto/
     600This directory contains the source code for the
     601@cite{RTEMS BSP and Device Driver Development Guide}.
     602
     603@item $@{RTEMS_ROOT@}/doc/common/
     604This directory contains the source code for the files which
     605are shared across multiple manuals in the RTEMS Documentation Set.
     606This includes the copyright page as well as the timing
     607tables which can be filled in on a per BSP basis in the
     608CPU supplements.
     609
     610@item $@{RTEMS_ROOT@}/doc/develenv/
     611This directory contains the source code for the
     612@cite{RTEMS Development Environment Guide}.  This is
     613the document you are currently reading.
     614
     615@item $@{RTEMS_ROOT@}/doc/filesystem/
     616This directory contains the source code for the
     617@cite{RTEMS Filesystem Design Guide}.  This manual
     618is a continuous work in process as it attempts to
     619capture the design of the interface between system
     620calls and filesystem implementations as well as the
     621information required by those implementing filesystems.
     622
     623@item $@{RTEMS_ROOT@}/doc/gnu_docs/
     624This directory contains the scripts which assist in
     625generating HTML for the GNU tools in the RTEMS Cross
     626Development Environment set.
     627
     628@item $@{RTEMS_ROOT@}/doc/images/
     629This directory contains the source code for the graphics
     630used in the HTML version of the RTEMS Documentation.
     631
     632@item $@{RTEMS_ROOT@}/doc/itron3.0/
     633This directory contains the source code for the
     634@cite{RTEMS ITRON 3.0 API User's Guide}.
     635
     636@item $@{RTEMS_ROOT@}/doc/networking/
     637This directory contains the source code for the
     638@cite{RTEMS Network Supplement}. 
     639
     640@item $@{RTEMS_ROOT@}/doc/new_chapters/
     641This directory contains the source code for the new documentation
     642components which have not yet been collected into a new manual or
     643merged into an existing document.  Currently, this primarily
     644contains draft documentation for some portions of
     645the facilities implemented in @code{$@{RTEMS_ROOT@}/c/src/libmisc/}.
     646
     647@item $@{RTEMS_ROOT@}/doc/porting/
     648This directory contains the source code for the
     649@cite{RTEMS Porting Guide}.
     650
     651@item $@{RTEMS_ROOT@}/doc/posix1003.1/
     652This directory contains the source code for the
     653@cite{RTEMS POSIX 1003.1 Compliance Guide}.
     654
     655@item $@{RTEMS_ROOT@}/doc/posix_users/
     656This directory contains the source code for the
     657@cite{RTEMS POSIX API User's Guide}.  It is important to
     658note that RTEMS' support for POSIX is a combination of
     659functionality provided by RTEMS and the Newlib C Library
     660so some functionality is documented by Newlib.
     661
     662@item $@{RTEMS_ROOT@}/doc/relnotes/
     663This directory contains the source code for a formally
     664release notes document.  This has not been used for
     665recent RTEMS releases.
     666
     667@item $@{RTEMS_ROOT@}/doc/rgdb_specs/
     668This directory contains the source code for the
     669@cite{RTEMS Remote Debugger Server Specifications}.
     670
     671@item $@{RTEMS_ROOT@}/doc/rtems_gdb/
     672This directory contains the source code for the
     673@cite{RTEMS/GDB User's Guide}.
     674
     675@item $@{RTEMS_ROOT@}/doc/started/
     676This directory contains the source code for the
     677@cite{Getting Started with RTEMS for C/C++ Users} manual.
     678
     679@item $@{RTEMS_ROOT@}/doc/started_ada/
     680This directory contains the source code for the
     681@cite{Getting Started with RTEMS for Ada Users} manual.
     682
     683@item $@{RTEMS_ROOT@}/doc/supplements/
     684This directory contains the source code for the various
     685RTEMS CPU Supplements.
     686the
     687
     688@item $@{RTEMS_ROOT@}/doc/tools/
     689This directory contains the source code for the tools
     690used on the development host to assist in producing the
     691RTEMS Documentation.  The most important of these tools
     692is @code{bmenu} which generates the hierarchical node
     693linking commands based upon chapter, section, and
     694subsection organization.
     695
     696@end table
  • doc/develenv/sample.t

    rb2eb323 r818ab36a  
    1111@section Introduction
    1212
    13 RTEMS is shipped with the following sample applications:
    14 
    15 @itemize @bullet
    16 @item Hello World - C and Ada
    17 
    18 @item Clock Tick - C and Ada
    19 
    20 @item Base Single Processor - C and Ada
    21 
    22 @item Base Multiple Processor - C and Ada
    23 
    24 @item Constructor/Destructor C++ Test - C only if C++
    25 enabled
    26 
    27 @item Paranoia Floating Point Test - C only
    28 @end itemize
    29 
    30 These applications are intended to illustrate the
     13The RTEMS source distribution includes a set of sample applications
     14that are located in the @code{$@{RTEMS_ROOT@}/c/src/tests/samples/}
     15directory.  These applications are intended to illustrate the
    3116basic format of RTEMS single and multiple processor
    32 applications.  In addition, these relatively simple applications
    33 can be used to test locally developed board support packages and
    34 device drivers.
    35 
    36 The reader should be familiar with the terms used and
    37 material presented in the RTEMS Applications User's Guide.
     17applications and the use of some features.  In addition, these
     18relatively simple applications can be used to test locally
     19developed board support packages and device drivers as they
     20exercise a critical subset of RTEMS functionality that is often
     21broken in new BSPs.
     22
     23Each of the following sample applications will be listed in
     24more detail in the following sections:
     25
     26@table @b
     27@item Hello World
     28The RTEMS Hello World test is provided in
     29the subdirectory @code{$@{RTEMS_ROOT@}/c/src/tests/samples/hello/}.
     30This test is helpful when testing new
     31versions of RTEMS, BSPs, or modifications to any portion of the
     32RTEMS development environment. 
     33
     34@item Clock Tick
     35The @code{$@{RTEMS_ROOT@}/c/src/tests/samples/ticker/}
     36subdirectory provides a test for verification of clock chip
     37device drivers of BSPs. 
     38
     39@item Base Single Processor
     40A simple single processor test similar to those in the
     41single processor test suite is provided in
     42@code{$@{RTEMS_ROOT@}/c/src/tests/samples/base_sp/}.
     43
     44@item Base Multiple Processor
     45A simple two node multiprocessor test capable of testing an newly
     46developed MPCI layer is provided in
     47@code{$@{RTEMS_ROOT@}/c/src/tests/samples/base_mp/}.
     48
     49@item Constructor/Destructor C++ Test
     50The @code{$@{RTEMS_ROOT@}/c/src/tests/samples/cdtest/}
     51subdirectory provides a simple C++ application using
     52constructors and destructors.  It is only built when
     53C++ is enabled. 
     54
     55
     56@item Paranoia Floating Point Test
     57The directory @code{$@{RTEMS_ROOT@}/c/src/tests/samples/paranoia/}
     58contains the public domain floating point and math library test.
     59
     60@item Minimum Size Test
     61The directory
     62@code{$@{RTEMS_ROOT@}/c/src/tests/samples/minimum/}
     63contains a simple RTEMS program that results in a non-functional
     64executable.  It is intended to show the size of a minimum footprint
     65application based upon the current RTEMS configuration. 
     66
     67@item Unlimited Object Allocation
     68The @code{$@{RTEMS_ROOT@}/c/src/tests/samples/unlimited/}
     69directory contains a sample test that demonstrates the use of the
     70@i{unlimited} object allocation configuration option to RTEMS.
     71
     72@item Network Loopback Test
     73The @code{$@{RTEMS_ROOT@}/c/src/tests/samples/loopback/}
     74directory contains a sample test that demonstrates the use of
     75sockets and the loopback network device.  It does not require
     76the presence of network hardware in order to run.
     77It is only built if RTEMS was configured with networking enabled.
     78
     79@end table
     80
     81The sample tests are written using the Classic API so the reader
     82should be familiar with the terms used and
     83material presented in the @b{RTEMS Applications Users Guide}.
    3884
    3985@section Hello World
     
    4288
    4389@example
    44 $RTEMS_SRC_BASE/tests/samples/hello
     90$@{RTEMS_ROOT@}/tests/samples/hello/
    4591@end example
    4692
     
    70116
    71117@example
    72 $RTEMS_SRC_BASE/tests/samples/ticker
     118$@{RTEMS_ROOT@}/tests/samples/ticker/
    73119@end example
    74120
     
    117163
    118164@example
    119 $RTEMS_SRC_BASE/tests/samples/base_sp
     165$@{RTEMS_ROOT@}/tests/samples/base_sp/
    120166@end example
    121167
     
    144190
    145191@example
    146 $RTEMS_SRC_BASE/tests/samples/base_mp
     192$@{RTEMS_ROOT@}/tests/samples/base_mp/
    147193@end example
    148194
     
    193239
    194240@example
    195 $RTEMS_SRC_BASE/tests/samples/cdtest
     241$@{RTEMS_ROOT@}/tests/samples/cdtest/
    196242@end example
    197243
     
    234280@end example
    235281
     282@section Minimum Size Test
     283
     284This sample application is in the following directory:
     285
     286@example
     287$@{RTEMS_ROOT@}/tests/samples/minimum/
     288@end example
     289
     290This sample application is designed to produce the
     291minimum code space required for any RTEMS application
     292based upon the current RTEMS configuration and
     293BSP.  In many situations, the bulk of this executable
     294consists of hardware and RTEMS initialization, basic
     295infrastructure such as malloc(), and RTEMS and
     296hardware shutdown support.
     297
    236298@section Paranoia Floating Point Application
    237299
     
    239301
    240302@example
    241 $RTEMS_SRC_BASE/tests/samples/paranoia
     303$@{RTEMS_ROOT@}/tests/samples/paranoia/
    242304@end example
    243305
     
    251313executing to completion include stack overflow and FPU exception
    252314handlers not installed.
     315
     316@section Network Loopback Test
     317
     318This sample application is in the following directory:
     319
     320@example
     321$@{RTEMS_ROOT@}/tests/samples/loopback/
     322@end example
     323
     324This sample application uses the network loopback device to
     325demonstrate the use of the RTEMS TCP/IP stack.  This sample
     326test illustrates the basic configuration and initialization
     327of the TCP/IP stack as well as simple socket usage.
     328
  • doc/develenv/utils.t

    rb2eb323 r818ab36a  
    1010
    1111This section describes the additional commands
    12 available within the RTEMS Development Environment.  Although
     12available within the @b{RTEMS Development Environment}.  Although
    1313some of these commands are of general use, most are included to
    1414provide some capability necessary to perform a required function
    1515in the development of the RTEMS executive, one of its support
    16 components, or an RTEMS based application.  The commands have
    17 been classified into the following categories for clarity:
    18 
    19 @itemize @bullet
    20 @item C Language Specific Utilities
    21 
    22 @item Ada Language Specific Utilities
    23 @end itemize
     16components, or an RTEMS based application. 
    2417
    2518Some of the commands are implemented as C programs.
     
    9386the description of gcc020 in section 1 of the GNU documentation.
    9487
    95 @section C Language Specific Utilities
    96 
    97 The C language utilities provide a powerful set of
    98 tools which combine to allow operations within the RTEMS
    99 Development Environment to be consistent and easy to use.  Much
    100 effort was devoted to providing as close to the standard UNIX
    101 and GNU style of operations as possible.  Each of these
    102 utilities are described in the section below.
    103 
    104 @subsection packhex - Compress Hexadecimal File
     88@c
     89@c packhex
     90@c
     91@section packhex - Compress Hexadecimal File
    10592
    10693@subheading SYNOPSIS
     
    145132provided in the listing.
    146133
    147 @subsection unhex - Convert Hexadecimal File into Binary Equivalent
     134@c
     135@c unhex
     136@c
     137@section unhex - Convert Hexadecimal File into Binary Equivalent
    148138
    149139@subheading SYNOPSIS
     
    194184@end example
    195185
    196 @subsection size_rtems - report RTEMS size information
     186@c
     187@c size_rtems
     188@c
     189@section size_rtems - report RTEMS size information
    197190
    198191@subheading SYNOPSIS
Note: See TracChangeset for help on using the changeset viewer.