summaryrefslogblamecommitdiffstats
path: root/c/src/lib/libbsp/README
blob: c3b978b6cbe5ef37b488ea2fae0afa205b7e961f (plain) (tree)













































                                                                               
#
#  $Id$
#

Board Support Package library

This directory contains the source for the libbsp.a library.
For each supported board $(RTEMS_BSP) there is a standard
set of functions which must be provided in the BSP:

   + start up initialization
   + exit support
   + set vector
   + console IO support
   + drivers

In addition, the BSP also determines the memory usage by providing
any necessary linker scripts.

There are also "generic" drivers in this directory.  Currently
they are shmdr and stubdr.

Some of the supplied generic drivers (for example, shared memory) require
target board specific support routines.

NOTE: The library libbsp.a is actually built by $(RTEMS_BSP)/wrapup/Makefile.

To execute all of the test in the RTEMS Tests Suites the following
device drivers must be supplied:

   + Clock Tick
   + IO Driver Support
   + Timer
   + Shared Memory Driver Support

The Timer Driver is used only by the Timing Test Suite (c/src/tests/tmtests/*).
These tests are used to generate the execution times for RTEMS found in the
flyers.  It is recommended that these tests be run to verify a port to a new
CPU or with a newly developed BSP.  Looking at the times as compared to a
known CPU and target can yield insights into potential performance problems
in either the port, the BSP, or the target hardware.

The Shared Memory Support is only required to execute the Multiprocessor
Test Suite (c/src/tests/mptests/*).  Multiprocessing is not a required part
of a BSP.