Board Support Package (BSP) Development
BSPs are software packages that contain hardware-specific OS modules and device drivers required for the proper work of a given embedded operating system on a given hardware. Our services include BSP development, setup, and migration.
What is our task?
We build Board Support Packages (BSPs) that initialize the processor, communication buses, memory, and peripherals and start up the bootloader. We also set some environmental parameters for working with a given embedded operating system (OS). The BSPs we create operate with minimal modifications on similar target boards. With our deep experience in BSP porting services, we ensure the successful performance of the operating system and all the peripherals in your embedded systems.
What tasks are included?
Within our BSP development services, we create low-level operating system code, device driver code, and other files with directives, compilation parameters, and hardware parameters for configuring the operating system. We also include related support services to the set of BSP libraries: networking, security, storage, graphics, and input/output. This will extend the possibilities of your embedded system’s custom hardware.
Bootloader and Linux kernel porting
Our company provides Linux board support package development for various Linux solutions. We create a full BSP, including boot loaders (U-Boot, RedBoot). To make Linux work on an embedded platform we adapt the Linux kernel to the target CPU. This involves architecture porting and board porting which involves writing custom drivers and initialization code for devices specific to the board. Completing a Linux development board support package, we help you customize and optimize your Linux-based system.
Custom device driver development
We build custom drivers to bring up the board, customize drivers with new features, port drivers from one OS to another, and provide updates to support new specifications and hardware.
Root file system building
For building programs to run on the embedded system and configure the device, we generate contents for the root file system. The root file system is required to boot, restore, recover, and/or repair the system.
Boot time optimization
For mission-critical applications that have specific requirements for a system’s boot time, we provide boot time optimization services. Some of the methods we use include recompiling the bootloader or kernel, or rebuilding a root file system from scratch.