Firmware-Entwicklung · Leistung 02

Firmware-Entwicklung und Embedded Linux in der Schweiz

Fermium übernimmt die Firmware- und Embedded-Software-Entwicklung in C und C++ für Echtzeitanwendungen mit hohen Anforderungen an Reaktionszeit und Zuverlässigkeit. Dazu gehören Bare-Metal-Treiber, FreeRTOS-Anwendungen und Embedded-Linux-Systeme mit Yocto und Buildroot.

Oder rufen Sie uns an: +41 78 914 41 45
adc_dma.cSTM32 · C
void 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    );}

Was wir tun

Embedded-Software-Entwicklung von Peripherietreibern bis zu Updates im Feld

Ob Bare Metal, RTOS oder Linux: Wir legen die Firmware-Architektur anhand der Anforderungen fest und entwickeln und testen die Software auf der Zielhardware.

01

Mikrocontroller-Firmware

Bare-Metal- und RTOS-Firmware für STM32-, TI-, NXP- und Microchip-Mikrocontroller: Peripherietreiber, Interrupt-Behandlung, Low-Power-Modi und Anwendungslogik.

02

FreeRTOS und Embedded Linux

Task-Design und Timing auf FreeRTOS; Board Support Packages, Device Trees, Kernel-Treiber und Root-Dateisysteme mit Yocto und Buildroot auf ARM-SoC-Plattformen.

03

Feldbus- und Industrieprotokolle

EtherCAT, PROFINET, Ethernet/IP, CANopen, Modbus RTU und TCP, CAN- und CAN-FD-Stacks in die Firmware integriert und mit Protokollanalysatoren verifiziert.

04

Bootloader, Secure Boot und OTA-Updates

Eigene Bootloader, signierte Firmware-Images, Secure-Boot-Ketten und Over-the-Air-Update-Mechanismen für Geräte im Feld.

05

Motorsteuerung und Power-Management

Feldorientierte Regelung für bürstenlose Motoren, Strom- und Drehzahlregelkreise, Batterie- und Power-Management-Firmware für batterie- und netzbetriebene Geräte.

06

Konnektivität

USB-Device- und -Host-Stacks, Bluetooth LE, Wi-Fi und LoRaWAN, vom Funktreiber bis zum Applikationsprotokoll.

Technologien

Plattformen, Protokolle und Werkzeuge für die Firmware-Entwicklung

Mikrocontroller

  • STM32 Cortex-M0 bis M7
  • TI MSP430
  • TI C2000
  • NXP LPC / Kinetis / i.MX RT
  • Microchip PIC / AVR / SAM

Betriebssysteme

  • Bare Metal
  • FreeRTOS
  • Embedded Linux (Yocto, Buildroot)
  • Linux BSP / Device Tree / Kernel-Treiber

Protokolle

  • EtherCAT
  • PROFINET
  • Ethernet/IP
  • CANopen
  • Modbus RTU / TCP
  • CAN / CAN-FD / LIN
  • USB Device / Host / OTG
  • Bluetooth LE
  • LoRaWAN

Werkzeuge

  • C / C++ / Assembler
  • IAR / Keil MDK / GCC
  • JTAG / SWD
  • Logik- und Protokollanalysatoren
  • Git

Vorgehen

Von den Anforderungen bis zum Release-Build

Die Firmware-Architektur richtet sich nach den Anforderungen an Reaktionszeiten, Schnittstellen und Updates des Zielgeräts.

  1. 01

    Anforderungen

    Funktionen, Timing-Vorgaben, Schnittstellen, Protokolle, Sicherheits- und Update-Anforderungen schriftlich festgehalten und abgestimmt.

  2. 02

    Architektur

    Softwarearchitektur mit Bare Metal, RTOS oder Linux sowie Task- und Speicherlayout, Treiberschnittstellen und Update-Konzept.

  3. 03

    Implementierung

    Treiber, Board Support und Applikations-Firmware in C und C++ auf der Zielhardware entwickeln; Board-Bring-up als erster Meilenstein.

  4. 04

    Verifikation

    Timing-Messungen, Prüfung der Protokollkonformität mit Logik- und Protokollanalysatoren, Dauertests und Abgleich der Messergebnisse mit den Anforderungen.

  5. 05

    Release

    Reproduzierbarer Release-Build, signierte Images, Bootloader und Update-Pfad, Quellcode und Dokumentation übergeben.

Nächster Schritt

Eine persönliche Ansprechperson für Ihr Projekt

Beschreiben Sie das Gerät, den Stand des Projekts und Ihre Anforderungen. Sie können eine Spezifikation oder einen Schaltplan als PDF anhängen. Auf Wunsch erhalten Sie zuerst eine Geheimhaltungsvereinbarung (NDA).

Häufige Fragen

Fragen zur Firmware-Entwicklung

Entwickeln Sie Embedded Linux mit Yocto oder Buildroot?

Ja. Wir entwickeln Embedded-Linux-Systeme mit Yocto und Buildroot: Board Support Packages, Device-Tree-Konfiguration, Kernel-Treiber und die dazugehörige Bare-Metal-Firmware auf ARM-SoC-Plattformen wie AMD Zynq UltraScale+ und Intel SoC-FPGAs.

Können Sie die Firmware eines bestehenden Produkts übernehmen?

Ja. Wir starten mit Ihrer bestehenden Hardware, Ihren Anforderungen oder Ihrem Code. Typische Teilaufträge sind Board-Bring-up, Treiber und BSPs, Firmware-Architektur, Embedded-Linux-Integration und die Fehlersuche an Geräten im Feld.

Welche Feldbus- und Industrieprotokolle implementieren Sie?

EtherCAT, PROFINET, Ethernet/IP, CANopen, Modbus RTU und TCP, CAN, CAN-FD und LIN, dazu USB, Bluetooth LE und LoRaWAN für vernetzte Geräte. Das Protokollverhalten wird mit Logik- und Protokollanalysatoren auf der Zielhardware verifiziert.

Implementieren Sie Secure Boot und Over-the-Air-Updates?

Ja. Bootloader, signierte Firmware-Images und Secure-Boot-Ketten sind Teil der Firmware-Architektur. Bei Neuentwicklungen planen wir den Over-the-Air-Update-Pfad parallel zur Produktentwicklung.

Kontakt

Embedded-Projekt besprechen

Beschreiben Sie das Gerät, den Stand des Projekts und Ihre Anforderungen.

Was brauchen Sie?

Patrick Walther

Gründer

Fermium GmbH
Hardeggweg 3
3326 Krauchthal, Schweiz
Fermium GmbH, Hardeggweg 3, 3326 Krauchthal, Schweiz