
Industry solutions


DigitalGate provides customers with deep expertise in RTOS BSP Development, porting and integration of existing code to RTOS, or general development centered around RTOS. We offer RTOS BSP development solutions for various architectures, integrate bootloaders, and ported on various microcontrollers, and real-time operating systems such as FreeRTOS, RTX, SCIOPTA, Nucleus, RTEMS, ThreadX, and ARM Mbed.
With considerable in-house know-how and experience having previously used a vast range of MCUs, CPUs, and FPGAs, from low-power processors to high-end application processors, we can develop device drivers from scratch or adapt existing device drivers to new application requirements.
We are implementing all the software components required for initializing and configuring various functionalities of the microcontroller, such as system timers, RAM and Flash interfaces, boot modes, etc. such that the system can boot up the given RTOS from internal or external memories and provide to it all low-level initializations that it needs for successfully managing all required internal and external hardware devices.
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.
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.
We develop bootloaders from scratch or integrate existing ones onto custom embedded platforms such that the operating system can boot and update itself according to strict application requirements. Our team uses state of art proprietary and open source tools for implementing, testing, and profiling all aspects related to bootloaders on an embedded platform. On top of the developed bootloaders, we are implementing the boot logic required for the successful update over the air as well as recovery in case of crashes, thus contributing to the reliability of the whole system.
We develop Hardware Abstraction Layers such that the application layer can communicate via standard software interfaces that ensure its platform independence, allowing it to access the microcontroller hardware generically. Our solutions are meant to provide code reusability, portability, data encapsulation, and easy maintenance while incorporating extensible control capabilities and scalable architectural patterns.
We are implementing or integrating existing proprietary and open source OS software stacks for applications as varied as networking, wireless, video, sound, etc. such that the application layers that sit on top of our BSP are equipped with all the tools they need for performing complex operations on a resource-constrained platform such as a microcontroller.
We optimize the implemented software components of the BSP, in an iterative process, by making use of hardware support, such as accelerators or MPU, when available, as well as setting up toolchains for profiling the system with respect to various parameters, such as run time, memory footprint, CPU load balancing, memory leakage, etc. At the end of this process, we deliver a BSP that is fully optimized for a custom embedded platform and the supporting infrastructure for further development.
By implementing reliable and scalable build systems for custom RTOS Board Support Packages, we ensure that the developed BSPs provide the flexibility required for adapting to new specific application needs as well as ease of use during the development process. Our team employs well-established open source technologies such as Make and CMake, Docker, etc. for implementing modern build systems that package together all components required for the development and maintenance of embedded systems.
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 |