Firmware development · Service 02
Firmware development and embedded Linux in Switzerland
Fermium develops real-time embedded software in C and C++ for target hardware: bare-metal drivers, FreeRTOS applications and embedded Linux systems built with Yocto and Buildroot. We verify timing behaviour and reliability against the device requirements.
Or call us: +41 78 914 41 45void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc){ if (hadc->Instance != ADC1) { return; } uint32_t sum = 0; for (size_t i = 0; i < ADC_SAMPLES; ++i) { sum += adc_buffer[i]; } sensor.raw = sum / ADC_SAMPLES; sensor.voltage = sensor.raw * ADC_REFERENCE_VOLTAGE / ADC_MAX_READING; HAL_GPIO_TogglePin( STATUS_LED_GPIO_Port, STATUS_LED_Pin );}What we do
Embedded software development from drivers to field updates
Firmware architecture follows the timing, interface and update requirements of the target device. We develop and verify each layer on the target hardware.
Microcontroller firmware
Bare-metal and RTOS firmware for STM32, TI, NXP and Microchip microcontrollers: peripheral drivers, interrupt handling, low-power modes and application firmware for the target board.
FreeRTOS and embedded Linux
Task design and timing on FreeRTOS; board support packages, device trees, kernel drivers and root file systems with Yocto and Buildroot on ARM SoC platforms.
Fieldbus and industrial protocols
EtherCAT, PROFINET, Ethernet/IP, CANopen, Modbus RTU and TCP, CAN and CAN-FD stacks integrated into the firmware and verified with protocol analysers.
Bootloaders, secure boot and OTA updates
Custom bootloaders, signed firmware images, secure boot chains and over-the-air update mechanisms for devices in the field.
Motor control and power management
Field-oriented control for brushless motors, current and speed loops, battery and power management firmware for battery-powered and mains-powered devices.
Connectivity
USB device and host stacks, Bluetooth LE, Wi-Fi and LoRaWAN, from the radio driver to the application protocol.
Technologies
Platforms, protocols and tools for firmware development
Microcontrollers
Operating systems
Protocols
Tools
Process
From requirements to the release build
Our verification checks timing, protocol behaviour and long-run stability against the agreed requirements before release.
- 01
Requirements
Functions, timing constraints, interfaces, protocols, safety and update requirements written down and agreed.
- 02
Architecture
Partitioning between bare metal, RTOS and Linux, task and memory layout, driver interfaces and the update concept.
- 03
Implementation
Drivers, board support and application firmware in C and C++, developed on target hardware with board bring-up as the first milestone.
- 04
Verification
We check timing, protocol conformance and long-run behaviour with logic and protocol analysers. We compare measured results with the requirements and document deviations.
- 05
Release
Reproducible release build, signed images, bootloader and update path, source code and documentation handed over.
Next step
A personal contact for your project
Describe the device, its current stage and the main requirements. You can attach a specification or a schematic as a PDF. On request, you receive a non-disclosure agreement (NDA) first.
Common questions
Questions about firmware development
Do you develop embedded Linux with Yocto or Buildroot?
Yes. We build Linux systems with Yocto and Buildroot for target hardware. Work can include board support packages, device-tree configuration and kernel drivers for ARM SoCs such as AMD Zynq UltraScale+ and Intel SoC FPGAs, plus the associated bare-metal firmware for the target system.
Can you take over the firmware of an existing product?
Yes. We start from your existing hardware, requirements or codebase. Typical partial engagements are board bring-up, drivers and BSPs, firmware architecture, embedded Linux integration and debugging of devices in the field.
Which fieldbus and industrial protocols do you implement?
EtherCAT, PROFINET, Ethernet/IP, CANopen, Modbus RTU and TCP, CAN, CAN-FD and LIN, plus USB, Bluetooth LE and LoRaWAN for connected devices. Protocol behaviour is verified with logic and protocol analysers on the target hardware.
Do you implement secure boot and over-the-air updates?
Yes. Bootloaders, signed firmware images and secure boot chains are part of the firmware architecture. We integrate the over-the-air update path with the product's firmware architecture.
Contact
Discuss your embedded project
Describe the device, its current stage and the main requirements.
Patrick Walther
Founder
Hardeggweg 3
3326 Krauchthal, SwitzerlandFermium GmbH, Hardeggweg 3, 3326 Krauchthal, Switzerland