RTEMS Logo

RTEMS 4.6.1 On-Line Library


Directory Structure c/src/ Directory

PREV UP NEXT Bookshelf RTEMS Development Environment Guide

2.1.1: c/src/ Directory

  • Directory Structure c/src/lib/libbsp BSP Directory
  • 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/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/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.


    PREV UP NEXT Bookshelf RTEMS Development Environment Guide

    Copyright © 1988-2004 OAR Corporation