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
directorie and a description of each.
${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/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, and real-time clocks.
${RTEMS_ROOT}/c/src/libmisc/
This directory contains support facilities which
are RTEMS specific but otherwise unclassified. In
general, they do not adhere to a standard API.
Among the support facilities in this directory are
a /dev/null device driver, the Stack
Overflow Checker, a mini-shell, the CPU and
rate monotonic period usage monitoring libraries,
and a utility to "dump a buffer" in a nicely
formatted way similar to many ROM monitors.
${RTEMS_ROOT}/c/src/libnetworking/
This directory contains the networking components which
might be tailored based upon the particular BSP. This
includes the RTEMS telnetd, httpd, and ftpd servers.
${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/tests/
This directory contains the test suites for the
various RTEMS APIs and support libraries. This
contents of this directory are discussed in the
Directory Structure c/src/tests/ Test Suites section.
${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.