Linux Board Support Package

We design BSP for embedded systems

If you need a board support package (BSP) for your electronic board, we can help you.

Our expertise covers the adaptation of the bootloader, the kernel configuration, the creation of the rootfilesystem and the implementation of a build system such as Yocto or Buildroot.

Bootloader

We have experience in adapting U-Boot for custom electronic boards. We initialize the components needed to boot the kernel. Where possible we rely on support for a board using the same processor as your board.

Then we develop U-Boot scripts to :
- Boot the Linux kernel
- Transfer files over the network
- Perform factory hardware tests
- Download factory firmware
- Manage boot options
Of course, we can also work on alternative bootloaders.

Linux kernel configuration: Pin Muxin and Device Tree

After the initialization, you have to start Linux. To do this, you have to describe the card you want it to support. This happens in two main steps:

1. The pin muxing which consists in configuring each of the processor contacts in relation to the tracks of your card.
2. Then, writing the device-tree gives the kernel the correspondence between the buses and the components of the card with drivers
At the end of this phase (also called bring-up) the kernel is able to use the hardware to boot, read, write, communicate and run embedded software.

Custom Linux drivers

Where necessary, Openest can develop custom device drivers for your board components. So your system will support new or specific components that are not yet available.
If you wish, we can even ensure their integration into the official kernel sources. Thus, you will have the assurance to remain compatible with future Linux versions and ease future maintenance.

Root filesystem pour board support package Linux

A BSP for Linux also requires a basic file system: a "rootfs". It contains the programs and libraries essential to the system.

These programs are in charge of :
- Managing the Ethernet or Wi-Fi network configuration
- Communicating with third-party microcontrollers
- Providing configuration tools to users
- Improving the security of the system
- Mount other partitions
- Download & apply updates
- Set and maintain system time

You are designing an embedded system, an IoT and you need to integrate an operating system?

count on us

Build system and firmware integration

The integration of all the software is a complex task. We have experience in using Buildroot (to which we contribute) and Yocto.
count on us

Processors and architectures

We mainly work with ARM processors of the Cortex-M type. For industrial systems, we regularly encounter processors from the Sitara range from Texas Instrument or i.MX6 from NXP.

We have also used Coldfire processors.

try, try again

Best practices

We use best practices in software development to ensure the best quality in the shortest time.

Our goal is to always provide the best possible software.

We develop the highest quality Linux BSPs that are designed to satisfy your customers and meet your requirements.