Board support package

In embedded systems, a board support package (BSP) is an implementation of specific support code (software) for a given (device motherboard) board that conforms to a given operating system. It is commonly built with a bootloader that contains the minimal device support to load the operating system and device drivers for all the devices on the board.

Some suppliers also provide a root file system, a toolchain for building programs to run on the embedded system (which would be part of the architecture support package), and utilities to configure the device (while running).

History

This term has been in use since 1981 when Hunter & Ready, the developers of VRTX, first used the term to describe the hardware-dependent software needed to run VRTX on a specific hardware platform. The phrase is commonly associated with Wind River Systems for its VxWorks embedded operating system because of its extensive device driver offerings, but since the 1980's it has been in wide use throughout the industry. For example, QNX Software Systems also distributes BSPs, as does Microsoft (for its Windows CE operating system), NVIDIA and many others. In fact, virtually all RTOS providers will use the term BSP to describe the hardware support software modules available for their RTOS.

Example

The Wind River board support package for the ARM Integrator 920T board contains, among other things, the following elements:

flashMem.c — the device driver for the board's flash memory
pciIomapShow.c — mapping file for the PCI bus
primeCellSio.c — TTY driver
sysLib.c — system-dependent routines specific to this board
romInit.s — ROM initialization module for the board; contains entry code for images that start running from ROM

Additionally the BSP is supposed to perform the following operations

This article is issued from Wikipedia - version of the Monday, October 05, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.