ABSTRACT

A BSP or “Board Support Package” is the set of software used to initialize the hardware devices on the board and implement the board-specific routines that can be used by the kernel and device drivers alike. BSP is thus a hardware abstraction layer gluing hardware to the OS by hiding the details of the processor and the board. The BSP hides the board-and CPU-specific details from the rest of the OS, so portability of drivers across multiple boards and CPUs becomes extremely easy. Another term that is often used instead of BSP is the Hardware Abstraction Layer or the HAL. HAL is more famous with UNIX users whereas the RTOS developer community more often uses BSP, especially those using VxWorks. The BSP has two components:

1. The microprocessor support: Linux has wide support for all the leading processors in the embedded market such as MIPS, ARM, and soon the PowerPC.