Difference between revisions of "Board Support Package"

From SEGGER Wiki
Jump to: navigation, search
Line 1: Line 1:
Every embOS port shipment comes with board support packages for different devices and evalboards.
+
Every embOS shipment comes with board support packages for different devices and evalboards.
 
Each board support package comes with all required initialization code and a project for the IDE of your choice.
 
Each board support package comes with all required initialization code and a project for the IDE of your choice.
   
 
=== What is an embOS board support package? ===
 
=== What is an embOS board support package? ===
A embOS board support package consists of two parts:
+
An embOS board support package (BSP) makes it easy to run embOS on a specific hardware.
  +
Although embOS for a specific core supports every device with that core some device and board specific routines needs to be implemented.
  +
  +
An embOS board support package consists of two parts:
 
* The necessary device and board specific software routines
 
* The necessary device and board specific software routines
 
* A project for a specific IDE with which embOS runs on a specific hardware out of the box.
 
* A project for a specific IDE with which embOS runs on a specific hardware out of the box.
Line 17: Line 20:
 
* Uart initialization for a specific board connector (used for embOSView)
 
* Uart initialization for a specific board connector (used for embOSView)
   
An embOS BSP can easily be used on another hardware with the same device since most of the routines are device but not board specific.
+
An embOS BSP can easily be used on another hardware with the same device since most of the routines are device but not board specific. <br>
The embOS BSP code is implemented as source code in the files ''RTOSInit.c' and ''BSP.c''.
+
The embOS BSP code is implemented as source code in the files ''RTOSInit.c'' and ''BSP.c''.
 
Further BSP files like ''BSP_Uart.c'' are optional.
 
Further BSP files like ''BSP_Uart.c'' are optional.
   
 
=== What is included? ===
 
=== What is included? ===
All necessary initialization code to run embOS
+
All necessary initialization code to run embOS and a project for the IDE of your choice.
   
 
=== What is not included? ===
 
=== What is not included? ===
 
The embOS board support package does not include any code for additional peripherals like I2C or SPI.
 
The embOS board support package does not include any code for additional peripherals like I2C or SPI.
But silicon vendor device hardware abstraction layer like STM32Cube HAL can easily be used with embOS.
+
But silicon vendor hardware abstraction layer like STM32Cube HAL can easily be used with embOS.
  +
  +
=== Where can I find the BSPs in the embOS shipment? ===
  +
Every embOS shipment includes a folder ''/Start/BoardSupport''.
  +
The sub-folders consist of the supported silicon and board vendors.
  +
In each sub-folder you find one or more board support packages.
  +
Every board support package is named like ''<device name>_<board name>''.
  +
  +
[[File:embOS_BSP_folders.png|none|alt=embOS BSP folders]]
  +
   
 
=== What can I do when no BSP for my hardware exists? ===
 
=== What can I do when no BSP for my hardware exists? ===
when no BSP for your hardware exists you can choose to:
+
When no BSP for your hardware exists you can choose to:
* Create the BSP on your own or use a BSP for another hardware but same device
+
* Create the BSP on your own or use a BSP for another hardware but with the same device.
* Ask SEGGER to create the BSP
+
* Ask SEGGER to create the BSP.
   
 
In the latter case please send us detailed information about your hardware.
 
In the latter case please send us detailed information about your hardware.
Line 37: Line 49:
   
 
=== Conclusion ===
 
=== Conclusion ===
If you like to run embOS a specific device and hardware please select the according embOS port first.
+
If you like to run embOS on a specific device and hardware please select the according embOS port first.
 
This embOS port must support the core of your device and the compiler of your choice.
 
This embOS port must support the core of your device and the compiler of your choice.
 
You can then check if an according BSP is already included.
 
You can then check if an according BSP is already included.

Revision as of 16:15, 5 June 2020

Every embOS shipment comes with board support packages for different devices and evalboards. Each board support package comes with all required initialization code and a project for the IDE of your choice.

What is an embOS board support package?

An embOS board support package (BSP) makes it easy to run embOS on a specific hardware. Although embOS for a specific core supports every device with that core some device and board specific routines needs to be implemented.

An embOS board support package consists of two parts:

  • The necessary device and board specific software routines
  • A project for a specific IDE with which embOS runs on a specific hardware out of the box.

Most of the routines are device specific. These are for example:

  • Startup code and vector table
  • Interrupt controller initialization
  • Hardware timer initialization

The board specific routines are for example:

  • LED initialization/control
  • External memory initialization
  • Uart initialization for a specific board connector (used for embOSView)

An embOS BSP can easily be used on another hardware with the same device since most of the routines are device but not board specific.
The embOS BSP code is implemented as source code in the files RTOSInit.c and BSP.c. Further BSP files like BSP_Uart.c are optional.

What is included?

All necessary initialization code to run embOS and a project for the IDE of your choice.

What is not included?

The embOS board support package does not include any code for additional peripherals like I2C or SPI. But silicon vendor hardware abstraction layer like STM32Cube HAL can easily be used with embOS.

Where can I find the BSPs in the embOS shipment?

Every embOS shipment includes a folder /Start/BoardSupport. The sub-folders consist of the supported silicon and board vendors. In each sub-folder you find one or more board support packages. Every board support package is named like <device name>_<board name>.

embOS BSP folders


What can I do when no BSP for my hardware exists?

When no BSP for your hardware exists you can choose to:

  • Create the BSP on your own or use a BSP for another hardware but with the same device.
  • Ask SEGGER to create the BSP.

In the latter case please send us detailed information about your hardware. The hardware can be an evalboard or even your custom hardware.

Conclusion

If you like to run embOS on a specific device and hardware please select the according embOS port first. This embOS port must support the core of your device and the compiler of your choice. You can then check if an according BSP is already included.

In case of doubt please don't hesitate to contact us.