Saturday 12 August 2017

BSP

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 boot loader that contains the minimal device support to load the operating system and device drivers for all the devices on the board.

BSP is a package of drivers and configuration settings that allows a kernel image to boot up a board. 


Board support package includes everything that is needed to use the board by an application. These include device drivers for the devices on the board and utility software for application programmers.

So a BSP contains:
  • Boot loader
  • Startup scripts/assembly for kernel initialization
  • interrupt handling code - for the specifics of the processor/SoC
  • basic device drivers or initialization for the making SoC up and running such as RAM, timer, bus, clocks etc.
  • A Board Support Package (BSP) provides a standardized interface between hardware and the operating system. A BSP does not directly access hardware. Although a BSP does provide an interface to device drivers which in turn allows the kernel to communicate with the hardware's assets such as device controllers, the microprocessor (CPU), memory, internal and external bus 
Two types of memories have to be distinguished:
 • RAM - volatile offering read and write access
 • ROM - non-volatile but read only

• code (.text) section: is the program’s code and it should not be modified. This section may be placed in ROM.
• non-initialized data (.bss) section: holds uninitialized variables of the program. It can stay in RAM.
 • initialized data (.data) section: holds the initialized program data which may be modified during the program’s life. This means they have to be in RAM. On the other hand, these variables must be set to predefined values, and those predefined values have to be stored in ROM
.

No comments:

Post a Comment