QNX bsp development
Our expert team excels in QNX Board Support Package (BSP) implementation, covering platform-specific details like bootloaders, IPL, device drivers/resource managers, root file system configuration, and optimizations. This ensures successful QNX operation on custom embedded platforms.
solutions overwiew
- Bootloader development
- IPL – Initial Program Loader development
- Root file system configuration
- Hardware low level tests
- Memory partitioning
- Device Driver development
- Build system development
- System profiling and optimization
- System startup configuration
- Memory footprint optimization
How It works
We cover every aspect of custom Board Support Package development for Embedded Systems, including custom bootloader integration, device driver development, and middleware library/tool integration for application development. This allows our customers to focus solely on their custom applications, adding significant value to their products.
We offer both complete BSP solutions and partial support, which can include sub-component development and assistance for application developers.
bootloader development
We create bootloaders from scratch or integrate existing ones onto custom embedded platforms, enabling QNX to boot and update in line with stringent application requirements. Our team leverages state-of-the-art proprietary and open-source tools for bootloader implementation, testing, and profiling on embedded platforms.
Initial Program Loader development
We implement and customize the Initial Program Loader (IPL) for the QNX operating system by providing low-level hardware platform descriptions and configuring CPUs, peripherals, and internal interfaces.
root file system configuration
Utilizing well-known technologies our engineering team creates comprehensive root filesystems. These encompass all necessary tools, software stacks, and libraries for seamless development and deployment of custom embedded applications.
hardware low-level tests
Our team handles all low-level testing for embedded hardware platforms, conducting necessary debugging and testing activities to ensure successful board boot-up and readiness for further development.
memory
partitioning
We address the memory layout of the system comprehensively, defining and implementing a partitioning concept to meet safety and functional requirements. This involves safety partitioning, MPU configuration, linked scripts, and ensuring a robust memory layout for the entire software stack.
device driver development
Using the QNX toolchain, our engineering team creates comprehensive root filesystems that encompass all necessary tools, software stacks, and libraries for successful development and deployment of custom embedded applications.
build system development
We establish reliable and scalable build systems for custom RTOS Board Support Packages (BSPs), offering flexibility to adapt to new application needs and streamline development. Our team utilizes proven open-source technologies like Make, CMake, Docker, and more to create modern build systems that package all components needed for embedded system development and maintenance, ensuring compatibility with the QNX make build system.
System profiling
and optimization
We iteratively optimize BSP software components, leveraging available hardware support like accelerators or MPUs. We establish toolchains for system profiling across parameters like runtime, memory footprint, CPU load balancing, and memory leakage. The result is a fully optimized BSP for custom embedded platforms, equipped with supporting infrastructure for further development and profiling.
System startup configuration
We implement essential software components for initializing and configuring SoC functionalities, including system timers, RAM and Flash interfaces, boot modes, and more. This enables the successful booting of the QNX operating system from internal or external memories, providing essential low-level initializations for managing hardware devices.
Memory and boot time optimization
In our iterative optimization process aligned with strict application requirements, we employ various techniques to optimize components for memory footprint and startup load time. This includes optimizing their implementation and timing in the boot sequence to ensure the system achieves optimal boot times.
Supported Platforms
Architecture | Silicon Vendor | SoC Name | Processor |
---|---|---|---|
ARM | NXP | IMX6 | Cortex A9 |
ARM | NXP | IMX7 | Cortex A7 |
ARM | NXP | IMX8 | Cortex A72, A53 |
ARM | NXP | QorIQ P1 | AMC |
ARM | NXP | QorIQ P2 | AMC |
ARM | NXP | QorIQ P3 | AMC |
ARM | NXP | QorIQ P4 | AMC |
ARM | NXP | QorIQ P5 | AMC |
ARM | Renesans | V3H | Cortex A53 |
ARM | Renesans | V3M | Cortex A53, A57 |
ARM | Renesans | H3 | Cortex A53, A57 |
ARM | Renesas | M3 | Cortex A53, A57 |
ARM | Renesas | D3 | Cortex A53, A57 |
ARM | Renesas | iWave RZ/G1H | Renesas RZ/G1H |
FPGA / ARM | Xilinx | ZCU 102 | Cortex 53 |
FPGA / ARM | Xilinx | ZCU 104 | Cortex 53 |
FPGA / ARM | Xilinx | ZCU 106 | Cortex 53 |
ARM | Texas Instruments | OMAP5430 | Cortex A15 |
ARM | Texas Instruments | OMAP5432 | Cortex A15 |
ARM | Atmel | ATSAMA5027 | Cortex A5 |
ARM | NXP | MPX-S32G274A | Cortex A53 |
ARM | Broadcom | Raspberry Pi 4 Model B | Cortex A72 |
ARM | NXP | S32G | Cortex A53 |
ARM | Qualcomm | SA8155 | Snapdragon SA8155P |
ARM | Texas Instruments | Jacinto 7 J721E | Cortex A72 |
ARM | Texas Instruments | Sitara AM572x | Cortex A15 |
ARM | NVIDIA | DRIVE AGX Pegasus | Xavier |
ARM | NVIDIA | DRIVE AGX Xavier | Xavier |
ARM | NVIDIA | DRIVE PX 2 | Parker |
ARM | NXP | SCM120-120-EVK SMARC | Cortex A9 |
ARM | NXP | Boundary Devices BD-SL | Cortex A9 |
ARM | NXP | IMX7 | Cortex A7 |
ARM | NXP | QorIQ LS10xxx | Cortex A53 |
ARM | Qualcomm | S820Am | Qualcomm Kryo |
ARM | Qualcomm | SA8155 | Qualcomm Kryo |
ARM | Samsung | Exynos 8 | Exynos 8 |
ARM | Telechips | TCC803x | Cortex A53, A7 |
ARM | Texas Instruments | Beagleboard X-15 | Cortex A15 |
ARM | Texas Instruments | AM437x | Cortex A9 |
ARM | Texas Instruments | AM572x | Cortex A15 |
ARM | Texas Instruments | Jacinto 6 | Cortex A15 |
compliant with best Industry Standards
Misra C
All our QNX Board Support Packages are compliant with the latest MISRA C standard
FuSa Compliant
All our Board Support Packages are implemented according to the FuSa guidelines for specific applications
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!