• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

Board Support Package: what is it?

June 30, 2017 By Aimee Kalnoskas 4 Comments

Figure 1 : Credit Pixabay. CC0 Public Domain

When designing a new system, you might find yourself drawn to a new processor with features that can make a real difference in the final product.

Most semiconductor vendors will provide an evaluation board that you can use to evaluate whether or not you want to invest your time and money into that particular processor or processor family. These boards are also referred to as demonstration boards (a.k.a. “demo boards”) or System Development Kits (SDKs), depending upon how complex they are. An evaluation or demo board is usually enough to get to know what it’s like to boot up, program, and test a snippet of example code on the new processor. The SDK is typically more involved and might be part of a system that includes add-on modules, but there is no standard term for any of these. Any vendor can name their board an eval board, demo board or an SDK regardless of the completeness or complexity, so be sure to read the description or watch a video on the board or kit before you purchase it. The terms demo, eval, board, and kit are often interchangeable with no discernable difference in function or form.

Decades ago, vendors used to provide the chip as a free sample but it was up to the engineer to breadboard the device and bring it up themselves. Sometimes an EEPROM with boot-up code would be present, or sample code would be given in the documentation, but it was assumed that the engineer would be able to get an MCU chip up and running with little more than a datasheet. Increasing complexity in MCUs has created an increasing need for everything from preinstalled boot-up code to free development tools so an engineer can spend less time getting to the point where he or she can start coding.

 The Out of Box Experience

The truth is that silicon is useless without software and vice versa. As processors and Systems-on-chip (SoCs) got more complex, vendors realized that they might sell more chips if they made their product easier to work with. The Out-of-Box-Experience (OOBE) became a focus so that users could get the evaluation board up and running within minutes of opening the box with crystal clear instructions, pre-programmed source code examples for simple actions like blinking an LED, and even free development tools to get the engineer started as soon as possible.

The Board Support Package

A Board Support Package (BSP) is used to start up and run the embedded target processor and is fundamental software for use with the evaluation board and its OOBE. The BSP does not include much more than what is needed to support a minimum number of peripherals on an eval board; only enough so that the user can at least demonstrate that the SoC peripherals work and that the SoC can be easily programmed to carry out the main features that the vendor advertises. A board support package is one of the first software packages that is developed for use with a particular chip or its evaluation board. The BSP has a boot-up program called the “bootloader” or a boot manager, and there’s a different BSP for different operating systems since the BSP contains drivers that enable the peripherals to communicate with the operating system. The BSP provides a file structure and will initialize several systems, including the processor, any communication buses, clocks, and memory, as well as start up the boot loader. The BSP may also initialize peripherals and set some environmental parameters for working with the embedded operating system (OS).

Semiconductor vendors today will often provide a Linux-based BSP with the eval kit hardware that includes a full suite of peripheral support, enabling all types of external ports that the SoC supports. Linux is popular because as open source, it is “free” and therefore somewhat agnostic in terms of showing favoritism between the various semiconductor OS partners. Therefore, using a Linux BSP avoids showing any favoritism between OS vendors, especially if the semiconductor vendor is maintaining a branch of the Linux kernel tree for its own processor architecture.

Another advantage to using Linux is that it requires no royalties for the vendor to pay if they include it in the eval kit, and Linux is open sourced so that anyone can subsequently alter it to fit their particular project needs. The BSP often includes the bootloader (e.g., Das U-Boot, Barebox, etc.), a Hardware Abstraction Layer (HAL) or an embedded OS (e.g., Linux, ThreadX, Integrity® RTOS, VxWorks), peripheral drivers, and various utilities.

Not all boards have BSPs, however. The Yocto Project has a BSP developer’s guide for making BSPs, and states that the BSP “…is concerned with the hardware-specific components only. At the end-distribution point, you can ship the BSP combined with a build system and other tools. However, it is important to maintain the distinction that these are separate components that happen to be combined in certain end products.”

Filed Under: Embedded, FAQ, Featured, Linux, RTOS, Tools Tagged With: basics, FAQ

Reader Interactions

Comments

  1. chinna says

    April 12, 2018 at 6:05 am

    Very brief and simple explanation to understand to Beginners. Thank you

    Reply
  2. sk says

    September 4, 2019 at 9:30 am

    Good piece of information.

    Reply
  3. Blake Schilleci says

    February 27, 2020 at 3:43 pm

    Who can I contact regarding BSP development? My team needs a BSP for RTEMS on a board that does not have a pre-made BSP. Any advice?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Navigating the EU Cyber Resilience Act: a manufacturer’s perspective

The intelligent Edge: powering next-gen Edge AI applications

Engineering harmony: solving the multiprotocol puzzle in IoT device design

What’s slowing down Edge AI? It’s not compute, it’s data movement

Five challenges for developing next-generation ADAS and autonomous vehicles

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: Power Efficiency
Discover proven strategies for power conversion, wide bandgap devices, and motor control — balancing performance, cost, and sustainability across industrial, automotive, and IoT systems.

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2025 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy