In the embedded operating systems world, BSP stands for Board Support Package, which forms the interface between the operating system and the underlying hardware of the board. Because system architecture may vary widely between various embedded platforms, the BSP is needed to inform the OS what sort of hardware is present, and provide an interface between that hardware and the operating system's APIs.
Unlike a true Hardware Abstraction Layer, the BSP does not necessarily provide a hardware-agnostic interface for the operating system to use; there may be significant differences in functionality or interfaces. For this reason, porting an application between embedded platforms, while simplified thanks to the BSP, is still usually not just a "copy and recompile" job.
Some operating systems, notably INTEGRITY from Green Hills Software, include a further layer underneath the BSP known as the ASP, or Architecture Support Package. While the BSP provides an interface to peripheral functions of the microcontroller, such as the DACs, DMA controller, or Ethernet interface, the ASP deals with the minutae of processor implementation, such as its endianness, memory alignment, clock control via PLLs, et cetera. Two ARM9-based boards will share the same ASP, but have different BSPs based on their respective feature sets.