RTOS bsp development
DigitalGate offers extensive expertise in RTOS BSP development, including code porting, integration, and general RTOS-centric development. We provide RTOS BSP solutions for diverse architectures and microcontrollers, supporting real-time operating systems like FreeRTOS, RTX, SCIOPTA, Nucleus, RTEMS, ThreadX, and ARM Mbed.
With in-house knowledge spanning a wide range of MCUs, CPUs, and FPGAs, from low-power to high-end processors, we excel at developing device drivers from scratch or adapting existing ones to new application requirements.
solutions overwiew
- System initialization
- System Memory Partitioning
- Device Driver Development
- Bootloader development
- Hardware abstraction layers development
- OS Software Stacks Development and Integration
- System profiling and optimization
- Build systems development
How It works?
We handle all aspects of custom Board Support Package (BSP) development for real-time operating systems, including custom bootloader integration, device driver development, and middleware library/tool integration for application development. This allows our customers to focus exclusively on developing their custom applications, adding genuine value to their product. We offer both complete BSP solutions and partial support, including sub-component development and assistance for application developers.
System
initialization
We implement all necessary software components to initialize and configure microcontroller functionalities, including system timers, RAM and Flash interfaces, boot modes, etc. This enables the system to boot the specified RTOS from internal or external memories, providing essential low-level initializations for managing internal and external hardware devices.
memory
partitioning
We address all aspects related to the memory layout of the system, by defining the partitioning concept and implementing it such that all safety and functional requirements are met, thus defining safety partitions, configuring MPUs, implementing linked scripts, etc. such that the whole software stack can rely on a robust memory layout.
Device driver development
In order to facilitate the implementation of real-time operating systems on custom boards, our team develops device drivers for various hardware accelerators, peripheral interfaces, external devices such as displays, cameras, networking, wireless, memory, etc. such that a real-time operating system can successfully run on a custom embedded board and provide to the application the interfaces that it needs to successfully process and stream the data. All our developed drivers follow well-established standards such as CIMSIS, and POSIX specifications when it comes to the architectural patterns being implemented, thus ensuring compatibility with a wide range of software stacks and tools that can be employed during the entire lifetime of an embedded system.
bootloader development
We create custom bootloaders or integrate existing ones into embedded platforms, allowing the operating system to boot and update as per strict application requirements. Our team employs cutting-edge proprietary and open-source tools for bootloader implementation, testing, and profiling on embedded platforms. Additionally, we implement boot logic for successful over-the-air updates and crash recovery, enhancing system reliability.
Hardware abstraction layers
We create Hardware Abstraction Layers (HALs) enabling the application layer to communicate through standard software interfaces, ensuring platform independence and generic access to microcontroller hardware. Our solutions prioritize code reusability, portability, data encapsulation, and easy maintenance, while also offering extensible control capabilities and scalable architectural patterns.
OS software
stacks development
We implement or integrate proprietary and open-source OS software stacks for diverse applications, including networking, wireless, video, sound, etc. This equips the application layers on top of our BSP with the necessary tools for performing complex operations on resource-constrained microcontroller platforms.
system profiling
And optimization
We iteratively optimize BSP software components, leveraging hardware support like accelerators or MPUs when available. We also establish toolchains for system profiling, considering parameters like runtime, memory footprint, CPU load balancing, and memory leakage. This results in a fully optimized BSP for custom embedded platforms, equipped with supporting infrastructure for further development.
build system development
We establish dependable and scalable build systems for custom RTOS Board Support Packages (BSPs), ensuring flexibility to accommodate specific application requirements and simplifying the development process. Our team utilizes established open-source technologies like Make, CMake, Docker, etc., to create modern build systems that bundle all necessary components for embedded systems development and maintenance.
Supported Platforms
Architecture | Silicon Vendor | SoC Name | Processor |
---|---|---|---|
ARM | STMicroelectronics | STM32 | Cortex M |
ARM | Microchip Technology | SAM E70 | Cortex M7 |
ARM | Microchip Technology | SAMA5 | Cortex A5 |
ARM | Texas Instruments | CC2650 | Cortex M3 |
ARM | Microchip Technology | SAMD3 | Cortex M3 |
ARM | NXP | LPC8XX | Cortex M0 |
MSP430 | Texas Instruments | MSP430 | 16 bit RISC |
TMS320 | Texas Instruments | TMS320Fxxxxxx | Cortex M3 |
ARM | Texas Instruments | TM4C123xxxxx | Cortex M4 |
ARM | Texas Instruments | TMS570LS0xxx | Cortex M4 |
ARM | Renesas | RE01 | Cortex M0 |
ARM | Renesas | RH850 | Cortex M1 |
ARM | Renesas | S124 | Cortex M0 |
ARM | Renesas | S3A6 | Cortex M4 |
ARM | Renesas | S1JA | Cortex M23 |
ARM | Renesas | S128 | Cortex M0 |
RL78 | Renesas | RL78Sx | RL78 |
ARM | NXP | LPC8xx | Cortex M0 |
ARM | Texas Instruments | CC2564x | Cortex M3 |
ARM | Texas Instruments | CC2640R2x | Cortex M3 |
PowerPC | NXP | QorIQ Qonverge BSC913X | StarCore |
PowerPC | NXP | QorIQ Qonverge B4420 | StarCore |
PowerPC | NXP | QorIQ Qonverge B4860 | StarCore |
compliant with best Industry Standards
Misra C
We offer software solutions that are compliant with the Misra C standards for code safety, security, portability and reliability.
FuSa Compliant
For the safety relevant systems, we implement FuSa guidelines and prepare the environment for companies to get the required certifications.
Previous slide
Next slide
Industries
We serve
Find custom solutions compliant of the highest industry standards, tailored to the specifications of each unique project. We work on various embedded software and hardware services across numerous industries!