A board support package (BSP) is essential code code for a given computer hardware device that will make that device work with the computer's OS (operating system). The BSP contains a small program called a boot loader or boot manager that places the OS and device drivers into memory. The contents of the BSP depend on the particular hardware and OS.
Specific tasks that the BSP performs include the following, in order:
- Initialize the processor.
- Initialize the bus.
- Initialize the interrupt controller.
- Initialize the clock.
- Initialize the RAM (random access memory) settings.
- Configure the segments (if applicable).
- Run the boot loader.
In addition to the foregoing, a BSP can contain directives, compilation parameters, and hardware parameters for configuring the OS.