Crossware Contact Us
Embedded platform engineering

Your hardware.
Made to run software.

New SoC. Tight timeline. No BSP. Crossware handles board bring-up, BSP development, GPU enablement and memory-optimised builds — so your team can focus on the application layer.

Board bring-up BSP & device tree GPU acceleration Memory optimisation
🔌
Hardware arrived. Nothing boots. Board bring-up from first power-on to a stable, bootable system with all peripherals verified.
Handled
🗂️
No BSP for our custom board. Device tree, Linux kernel drivers and Yocto layer built for your exact hardware — not ported from an eval board.
Handled
🖥️
UI is rendering in software at 12 fps. GPU acceleration enabled — DRM/KMS, OpenGL ES, Qt EGLFS — bringing the display pipeline up to production frame rates.
Handled
📦
Image won't fit in flash. Yocto build profiled, stripped and restructured to meet your memory budget without removing function.
Handled
When teams work with us

Platform problems that stop software projects.

Platform engineering delays are common, expensive and rarely visible until they block everything above them. Crossware is brought in to unblock them.

01
Moving to a new SoC mid-project

Porting an existing application to a new application processor or MCU — BSP, driver and platform layer migration without rewriting the application.

02
New custom hardware, no reference BSP

Evaluation board BSPs don't reflect production schematic changes. Crossware builds the BSP from the actual hardware design, not the eval board.

03
GPU not working — HMI performance is blocked

OpenGL ES or Vulkan driver bring-up, DRM/KMS configuration and Qt platform plugin setup to enable hardware rendering and hit frame rate targets.

04
Image too large for production flash

Yocto image profiling, Qt module selection and build configuration to fit within the memory budget without losing required functionality.

05
Adding AI inference to an existing platform

Integrating an NPU driver, ML runtime and inference pipeline onto a platform that wasn't originally designed with AI in mind.

01 · Board bring-up

From power-on to a working system.

Crossware takes a new custom board from first power-on through hardware validation, peripheral bring-up, bootloader configuration and a stable Linux or RTOS boot. Every peripheral is verified against the schematic — nothing is assumed to work until it is confirmed to work.

Power sequencing and reset validation
UART, SPI, I²C, USB, Ethernet bring-up
Display and camera interface validation
JTAG / OpenOCD debug infrastructure
U-Boot / SPL bootloader configuration
First boot report and hardware issue log
02 · BSP development

A BSP that reflects your hardware, not the reference design.

Linux device trees and kernel drivers written for your board's actual peripherals, interfaces and memory map. Yocto layers built and maintained for your product — including custom machine configurations, recipe patches and reproducible builds. For MCU targets, FreeRTOS and bare-metal BSPs configured for the hardware bring-up already completed.

Linux device tree authoring
Kernel driver development
Yocto / OpenEmbedded layer creation
Machine configuration and recipes
FreeRTOS / Azure RTOS BSP for MCU targets
Boot-time and suspend / resume optimisation
03 · GPU acceleration

Hardware rendering for production HMI frame rates.

Enabling the GPU display pipeline on embedded Linux — from DRM/KMS driver configuration through OpenGL ES and Vulkan bringup to Qt EGLFS and Wayland compositor setup. Crossware benchmarks the full rendering pipeline and resolves performance bottlenecks before they become product-level problems.

DRM / KMS display pipeline configuration
OpenGL ES and Vulkan driver bring-up
Qt EGLFS platform plugin setup
Wayland compositor integration
Hardware overlay and compositing
GPU performance benchmarking and profiling
04 · Memory & build optimisation

Fit the production budget. Ship the full product.

When a Yocto image is too large for flash, or a Qt application exceeds RAM, Crossware profiles the build, identifies what is consuming space, and restructures the configuration to meet the target without removing required functionality. OTA-ready partition design and image layout are part of the output.

Yocto image size profiling
Qt module selection and stripping
Shared library and symbol optimisation
RAM footprint reduction and heap analysis
OTA-friendly partition design
Reproducible build configuration
How an engagement runs

From schematic review to production-ready platform.

01

Hardware review

Schematics, memory map, peripheral list and target OS reviewed before anything powers on.

02

Bring-up

First power-on, boot chain, peripheral validation and debug infrastructure established.

03

BSP

Device tree, drivers, Yocto layer and machine configuration built and verified on hardware.

04

Platform features

GPU acceleration, NPU integration, memory optimisation and display pipeline configured.

05

Handover

Documented BSP, Yocto layer, build instructions and hardware issue log delivered to your team.

Start with your hardware

Tell us what you're building on.
We'll get it running.

Share your SoC, schematics, target OS and timeline. Crossware will scope the bring-up, BSP and platform engineering engagement and propose a plan.

Talk to our engineers