This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > Wiki encyclopedia > BSP


The board support package (BSP) (Board Support Package) is a layer between the motherboard hardware and the driver layer program in the operating system. It is generally considered to be part of the operating system, mainly to support the operating system and is for the upper layer. The driver provides a function package to access the hardware device registers, so that it can run better on the hardware motherboard. In the composition of embedded system software, there is BSP. BSP is relative to the operating system. Different operating systems correspond to BSPs with different definitions. For example, the BSP of VxWorks and the BSP of Linux are relative to a CPU. Although the functions are the same, the writing and interface definition are completely Different, so writing BSP must be written according to the definition of the system BSP (most of the BSP programming process is modified on a certain BSP template). In this way, the correct interface with the upper-layer OS can be maintained and the upper-layer OS can be well supported.


In an embedded system, a board support package (English: board support package, BSP for short) is used as a simple code to initialize and run the operating system and for the evaluation board. It usually contains a boot program (English: bootloader) that loads the operating system with basic support code, and drivers for all devices on the motherboard.

Some vendors will also provide a set of root file systems, a toolchain (English: toolchain, which can be part of the architecture support package) for building programs running on the embedded system, and (during operation) configuration devices Utility.


The word appeared around 1988. The origin of the term is most often attributed to the VxWorks embedded operating system given to it by Wind River Systems, but it is now widely used in the industry. For example, QNX Software Systems also provides BSPs. Microsoft also provides BSPs with Windows CE operating system.

The BSP of the Windows CE operating system includes:



OEM Adaptation Layer (OAL)

Configuration file


The BSP provided by Wind River for the ARM Integrator 920T development board includes the following parts (there are other parts not listed):

A config.h file, which defines some constants such as ROM_SIZE and RAM_HIGH_ADRS

A Makefile, which defines a binary version of the VxWorks ROM image, this image is used to program the flash memory

A bootrom file that defines the boot parameters related to this board

A target.ref file describing board-related information, such as switch and jumper settings, interrupts, etc.

One VxWorks image

C code, including:

flashMem.c - Flash memory driver for the development board

pciIomapShow.c - Map PCI bus to file

primeCellSio.c - TTY driver

sysLib.c - routines related to the development board system

romInit.s - the ROM initialization module of the development board, including the entry code of the development board running the program from the ROM

Other Wikis


FPGA Tutorial Lattice FPGA
Need Help?


If you have any questions about the product and related issues, Please contact us.