26 Apr 2017

What is a BSP(Board Support Package)?

In embedded systems, a board support package (BSP) is an implementation of specific support code (software) for a given (device motherboard) board that conforms to a given operating system. It is commonly built with a bootloader that contains the minimal device support to load the operating system and device drivers for all the devices on the board.
Some suppliers also provide a root file system, a toolchain for building programs to run on the embedded system (which would be part of the architecture support package), and utilities to configure the device (while running).

Example

The Wind River board support package for the ARM Integrator 920T board contains, among other things, the following elements:
  • A config.h file, which defines constants such as ROM_SIZE and RAM_HIGH_ADRS.
  • A Makefile, which defines binary versions of VxWorks ROM images for programming into flash memory.
  • A bootrom file, which defines the boot line parameters for the board.
  • A target.ref file, which describes board-specific information such as switch and jumper settings, interrupt levels, and offset bias.
  • A VxWorks image.
  • Various C files, including:
flashMem.c — the device driver for the board's flash memory
pciIomapShow.c — mapping file for the PCI bus
primeCellSio.c — TTY driver
sysLib.c — system-dependent routines specific to this board
romInit.s — ROM initialization module for the board; contains entry code for images that start running from ROM

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.


for more information click on below link

https://www.windriver.com/products/bsp_web/what_is_a_bsp.pdf

3 comments:

  1. I have an ATMEL processor board with me. How to test for the interfaces (HDMI, USB, Ethernet etc.) from the BSP loaded into it

    ReplyDelete
  2. according my knowledge,ATMEL(means 8051 controller).if you want to test the controller or processor related registers are supported by that processor r controller are there or not first you have to check the datasheet.

    ReplyDelete
  3. Greetings Mate,


    A really interesting, clear and easily readable Embedded Developers World article of interesting and different perspectives' will clap. So much is so well covered here.

    Write a program to print Lowest Common Ancestor of given the values of two nodes in a binary search tree. You may assume that both values already exist in the tree.
    The program should take the inputs for the binary tree and construct the tree. Once the construction is over, the program takes 2 inputs to find out the LCA of those nodes.
    Eg: In the below given tree, the lowest common ancestor of 4 and 14 is 8.

    I read multiple articles and watched many videos about how to use this tool - and was still confused! Your instructions were easy to understand and made the process simple.


    Kind Regards,
    Irene

    ReplyDelete

commnet here