Acronym · Embedded Software & Tools
BSP (Board Support Package)
The collection of bootloader, kernel patches, device drivers, device tree and build configuration that makes an operating system run on a specific board or SoC.
It is the main software deliverable a silicon vendor gives a customer at design-in.
- Also known as
- Board support, Enablement package
- Type
- Acronym
- Domain
- Embedded Software & Tools, Firmware and boot
Notes
BSP quality and maintenance duration often decide a socket as much as the silicon specification does.
Overview
A board support package (BSP) is the collection of bootloader, kernel patches and configuration, device drivers, device tree and build settings that makes an operating system run on a particular board or SoC. For a chip vendor, the BSP is the main software delivered to customers when they design the chip in, so that they can start developing their own product software straight away.
How it works
A BSP adapts a general operating system to specific hardware. It includes the early boot code that initialises clocks, memory and storage; the bootloader that loads the operating system; the drivers for the SoC's peripherals, such as display, camera, networking and power management; and a hardware description, often a device tree, that tells the operating system which devices exist and where. Build configuration ties it together so that customers can reproduce the image.
For Linux-based systems, BSPs are commonly delivered as layers for the Yocto Project build system, alongside a kernel tree with the vendor's patches. Real-time operating systems have their own board ports: the Zephyr Project, for example, describes how to add support for a new board, with board definition files, a device tree and default configuration.
Silicon vendors usually provide a BSP for their own evaluation board, and customers adapt it to their own board design, changing the device tree, memory settings and drivers for the parts they use. Vendors maintain BSPs over years, tracking new operating system releases and security fixes and, increasingly, upstreaming drivers into the main open-source projects.
Examples
- A Linux BSP for an applications processor delivered as Yocto layers with the vendor's kernel and drivers.
- A customer modifying the vendor's device tree to match the memory and peripherals on their own board.
- A Zephyr board port adding support for a new microcontroller development board.
- An updated BSP release moving to a newer kernel version with security fixes.
Why it matters
A chip cannot be designed into a product until customers can run software on it, so BSP quality and timeliness affect design wins and time to market. Board bring-up and BSP engineers, embedded software and firmware engineers, and field applications engineers build and support BSPs, and customers' software teams depend on them.
In the chip lifecycle BSP work starts before silicon on emulators and virtual platforms, is completed during bring-up on first silicon, is released with evaluation boards at launch, and is maintained throughout the product's life.
Related terms
Part of the Embedded Software & Tools glossary, with every term in the topic and the lifecycles, tools and standards that use them.
Where it appears on the Hub
Used on 39 pages of the Hub. In each group, the pages that mention it most come first.
Lifecycle stages and gates
- Board Bring-up & Integration (FPGA lifecycle)
- Firmware, Drivers & Board Support (Firmware and software lifecycle)
- Hardware and software integrated (FPGA lifecycle)
- Alpha release (Firmware and software lifecycle)
- Software & Firmware Development (System lifecycle)
- Software Platform & Tools (Platform lifecycle)
- and 8 more
Roles
Suggest an improvement
Suggest an improvement to this entry
A clearer definition, an example, a correction or a source an editor can check. Editors review every suggestion before the entry changes.
Last reviewed . Written by The Semiconductor Hub editorial team. The full glossary