As mentioned previously, this directory is logically
the root for the RTEMS components
which are CPU model or board dependent. The
following is a list of the subdirectories in this
directory and a description of each.
${RTEMS_ROOT}/c/src/aclocal/
This directory contains the custom M4 macros which are available to
the various GNU autoconf configure.ac scripts throughout
this portion of the RTEMS source tree. GNU autoconf interprets
configure.ac files to produce the configure files used
to tailor RTEMS build for a particular host and target environment. The
contents of this directory will not be discussed further in this
document.
${RTEMS_ROOT}/c/src/ada/
This directory contains the Ada95 language bindings to the
RTEMS Classic API.
${RTEMS_ROOT}/c/src/ada-tests/
This directory contains the test suite for the Ada
language bindings to the Classic API.
${RTEMS_ROOT}/c/src/automake/
This directory contains files which are "Makefile fragments."
They are included as required by the various Makefile.am
files throughout this portion of the RTEMS source tree.
${RTEMS_ROOT}/c/src/lib/
This directory contains the directories libbsp/
and libcpu/ which contain the source code for
the Board Support Packages (BSPs) and CPU Model
specific source code for RTEMS.
The libbsp/ is organized based upon the CPU
family and boards BSPs. The contents of libbsp/
are discussed briefly in
Directory Structure c/src/lib/libbsp BSP Directory
and presented in detail in the
RTEMS BSP and Device Driver Development Guide.
The libcpu/ directory is also organized by
CPU family with further divisions based upon CPU
model and features that are shared across CPU models
such as caching and DMA.
${RTEMS_ROOT}/c/src/libchip/
This directory contains device drivers for various
peripheral chips which are designed to be CPU and
board dependent. This directory contains a variety
of drivers for serial devices, network interface
controllers, shared memory and real-time clocks.
${RTEMS_ROOT}/c/src/librdbg/
This directory contains the Ethernet-based remote debugging
stub. This software must be built to be intimately aware
of a particular CPU model.
${RTEMS_ROOT}/c/src/librtems++/
This directory contains C++ classes which map to the RTEMS
Classic API.
${RTEMS_ROOT}/c/src/make/
This directory is used to generate the bulk of the supporting
rules files which are installed as part of the Application Makefiles.
This file contains settings for various Makefile variables to
tailor them to the particular CPU model and BSP configured.
${RTEMS_ROOT}/c/src/optman/
This directory contains stubs for the RTEMS Classic API
Managers which are considered optional and whose use
may be explicitly forbidden by an application. All of the
directive implementations in this Optional Managers
return E_NOTCONFIGURED.
${RTEMS_ROOT}/c/src/support/
This directory exists solely to generate the RTEMS
version string which includes the RTEMS version,
CPU architecture, CPU model, and BSP name.
${RTEMS_ROOT}/c/src/wrapup/
This directory is responsible for taking the individual
libraries and objects built in each of the components
in the RTEMS source tree and bundling them together to form
the single RTEMS library librtemsbsp.a. This
library contains all BSP and CPU model specific software.