QNX bsp development

Our team of experts has deep expertise in implementing Board Support Packages for the QNX operating system, we are addressing all platform specific details, such as bootloaders, IPL, devices drivers / resource managers, rootfile system configuration as well as all required optimizations such that QNX can boot and run successfully on a custom embedded platform 

solutions overwiew

How It works?

We address all aspects of a custom Board Support Package for Embedded Systems, from the development and integration of custom bootloaders up to the device drivers development and integration of middleware libraries and tools relevant to application development, such that our customers can completely concentrate on the development of their custom application which is the true added value of their product. We are supporting our customers not just with complete BSP solutions but as well as with partial solutions, that could involve development of various sub components or support for the application developers.

bootloader development

We develop bootloaders from scratch or integrate existing ones onto custom embedded platforms such that QNX 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 the bootloaders on an embedded platform.

Initial Program Loader development

We implement and customize the Initial Program Loader – IPL of the QNX operating system by implementing all the required low level descriptions of the hardware platform as well as making the low level configurations of the CPUs and various peripheral and internal interfaces.

root file system configuration

Using well known technologies provided by QNX toolchain, our team of engineers implements complete root filesystems which include all tools, software stacks and libraries required for the successful development and deployment of a custom embedded application.

hardware low-level tests

Our team takes care of all aspects related to low level testing of an embedded hardware platform, by performing all required debugging and testing activities for bringing the board to boot up successfully, such that the systems achieves readiness for further development.

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 relay on a robust memory layout.

device driver development

Using well known technologies provided by QNX toolchain, our team of engineers implements complete root filesystems which include all tools, software stacks and libraries required for the successful development and deployment of a custom embedded application.

build system development

By implementing reliable and scalable build systems for custom RTOS Board Support Packages, we ensure that the developed BSPs provides 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 development and maintenance of an embedded systems as well as bringing the required compatibility with the QNX make build system.

System profiling and optimization

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 which is fully optimized for a custom embedded platform and the supporting infrastructure for further development and profiling.

System startup configuration

We are implementing all the software components required for initializing and configuring various functionalities of the SoC, such as system timers, RAM and Flash interfaces, boot modes etc. such that the system can boot-up  the given QNX operating system 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.

 

Memory and boot time optimization

In the iterative process of optimizing the system according to strict application needs we employ various techniques that involve the optimization of various components with respect to their memory footprint and load time at statup, by optimizing their actual implementation and delegating their start at the right time in the boot sequence such that the system is fully booted up in an optimal time.

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
Next

Industries We serve

Having previously worked on various QNX BSP development solutions in the medical and automotive field, our team of engineers is specialized in developing custom solutions that are of the highest industry standards, tailor made to the specification of each individual project.

Automotive

Automotive

Read More

Medical Devices

Medical Devices

Read More

Industrial Automation

Industrial Automation

Read More

Aerospace and Defense

Aerospace and Defense

Read More

Consumers Electronics

Consumers Electronics

Read More

We'd Love To Hear From You

if you have a question about software, hardware or Embedded Systems in general, our team is always ready to answer all your questions