FPGA · SoC · Bring-up · BSP · Firmware

Embedded-Systeme

Entwicklung von Embedded-Firmware für die Industrie, kundenspezifische BSPs, Auswahl industrieller SoCs und Inbetriebnahme von Baugruppen. Wir wählen den Prozessor aus, entwickeln die Hardware, nehmen sie in Betrieb und entwickeln die Firmware.

Zielgruppe

Für wen wir arbeiten

  • Gerätehersteller

    Für ein eigenes Industriegerät brauchen Sie die ganze Kette, von der Chipauswahl über Leiterplattendesign und Inbetriebnahme bis zur Firmware im ausgelieferten Produkt, mit BSP und Peripherie darunter.

  • Maschinenbauer

    Mehrere Standardmodule sollen einem eigenen Gerät weichen, das zur E/A-Anzahl, zur Bauform und zur Umgebung Ihrer Maschine passt.

  • Chiphersteller

    Ein neuer Baustein soll zeigen, dass er im industriellen Einsatz funktioniert, mit einem Referenzdesign und einem BSP, auf denen Ihre Kunden aufbauen können.

Leistungsumfang

Was wir tun

  1. 01

    Chipauswahl und Architektur

    Bei der Auswahl industrieller SoCs zählen Lebenszyklus, Toolchain und langfristige Lieferbarkeit ebenso wie die Benchmark-Ergebnisse.

  2. 02

    Leiterplattendesign und Inbetriebnahme

    Wir entwickeln industrielle Leiterplatten und nehmen die fertige Baugruppe in Betrieb. Dazu gehören die Hardware-Validierung und die Übergabe einer geprüften Plattform an das Software-Team.

  3. 03

    Hardware-Review

    Wir prüfen Schaltplan und Layout, Pin-Mux und Peripheriekonflikte einer Baugruppe, die Sie oder ein Partner entworfen haben, bevor sie in die Fertigung geht.

  4. 04

    Kundenspezifische BSPs

    Wir schreiben das Board Support Package für das SoC, das Sie tatsächlich einsetzen, einschließlich der Peripherie, die das Referenzdesign nicht abdeckt.

  5. 05

    Firmware-Entwicklung

    Wir entwickeln Embedded-Firmware für Industriegeräte, von Bare Metal über RTOS bis Embedded Linux.

  6. 06

    FPGA und hybride Plattformen

    Wir setzen FPGAs und SoC-FPGAs ein, wenn zeitkritische Abläufe in Hardware statt in Software laufen müssen, und nehmen hybride Aufbauten aus x86-Host und FPGA über PCIe in Betrieb.

  7. 07

    Funk und HF

    Wir entwickeln Industriegeräte mit Funk über BLE, Zigbee und WirelessHART, industrielles WLAN, HF-Frontends und UHF-RFID-Lesegeräte.

Technik

Technologien und Plattformen

Chips
Xilinx Zynq / Spartan · Altera Cyclone V SoC (Arm Cortex-A9 + FPGA) · Cyclone IV GX · MAX 10 · ARM Cortex-M und Cortex-A · TI Sitara · TI Hercules (Lockstep) · Renesas RZ/N · Analog Devices fido5100 / fido5200 · Analog Devices Blackfin · STMicro · Intel Atom
Umgebungen
Bare Metal · RTOS (FreeRTOS, eCos, Zephyr, µC/OS, TI-RTOS / SYS-BIOS) · Embedded Linux · Echtzeit-Linux
Was Sie erhalten
Schaltpläne und Layout, wenn die Baugruppe von uns ist · Bericht zu Inbetriebnahme und Validierung · kundenspezifisches BSP mit Build-Umgebung · Firmware-Quellcode · Hinweise zur Peripherie-Integration · eine Build-Umgebung, die sich neu aufbauen lässt

Was gehört zur Entwicklung von Embedded-Firmware für Industrieprodukte?

Wir übernehmen die Entwicklung von Embedded-Firmware für die Industrie, kundenspezifische BSPs und die Auswahl industrieller SoCs, für Gerätehersteller, Maschinenbauer und Chiphersteller.

Wir wählen den Chip, entwerfen die Baugruppe und nehmen sie in Betrieb (im Englischen „Bring-up“), schreiben das Board Support Package (BSP) für die Peripherie, die das Referenzdesign nicht abdeckt, und entwickeln die Firmware darauf. Unser Team hat diese Arbeit auf Xilinx Zynq, Altera Cyclone, TI Sitara und Renesas RZ/N ausgeliefert. Typische Ausgangslagen sind:

  • Ein Gerät, das es noch nicht gibt. Entwicklung eines kundenspezifischen Geräts von der Chipauswahl über das Leiterplattendesign und die Inbetriebnahme bis zur ausgelieferten Firmware.
  • Vorhandene Baugruppen in Betrieb nehmen. Inbetriebnahme und Hardware-Validierung auf vorhandener Hardware, einschließlich der Peripherie, die das Referenzdesign nicht dokumentiert.
  • Ein BSP für einen neuen Baustein. Ein kundenspezifisches BSP für ein industrielles SoC, und das ist in der Praxis der größte Teil dessen, was „Linux portieren“ heißt.
  • Firmware auf einen neuen Chip bringen. Die Anwendung ist erprobt, und die Plattform darunter hat sich geändert.
  • Ein Referenzdesign für einen Chiphersteller. Referenzdesign und BSP, damit ein neuer Baustein mit etwas auf den Markt kommt, auf dem Kunden aufbauen können.
  • Die Funktechnik. Industriegeräte mit BLE, Zigbee und WirelessHART, industrielles WLAN, HF-Frontends oder UHF-RFID-Lesegeräte.

Bei vielen Embedded-Projekten entstehen die Probleme unterhalb der Anwendungsschicht: ein Peripheriebaustein ohne Treiber, ein BSP, das bootet, aber Interrupts verliert, oder Firmware, die auf dem Labortisch funktioniert und im warmen Schaltschrank ihre Deadline verpasst. Diese Ebene übernehmen wir:

  • Die Chipauswahl, die jede spätere Entscheidung begrenzt.
  • Leiterplattendesign und Inbetriebnahme, bis das Software-Team die Hardware als funktionierend voraussetzen kann.
  • Das BSP, einschließlich der Peripherie, die ein Referenzdesign weglässt.
  • Die Firmware, über Bare Metal, RTOS und Embedded Linux.
  • Die Integration der Peripheriebusse I²C, SPI und UART, dazu Speicherschnittstellen, Ethernet-PHYs und schnelle Signale, auf die ein großer Teil der Fehler und Nacharbeiten bei der Inbetriebnahme entfällt.

Die Inbetriebnahme kompletter Maschinen und Anlagen übernehmen wir nicht. Wir entwickeln das Gerät für Ihr Produkt und integrieren und testen es gemeinsam mit Ihren Ingenieuren.

Ein Ablauf in sieben Schritten von der Chipauswahl bis zur Produktanwendung: Chipauswahl, Leiterplattendesign und Inbetriebnahme, Bootloader und BSP, Betriebssystem, Treiber sowie Middleware und Protokollstacks sind die Arbeit, die AEI übernimmt; jeder Schritt baut auf dem vorigen auf, am Ende steht die Produktanwendung

Was wir auf jeder Systemebene liefern.

Ein Referenz-BSP bringt die zugehörige Referenzplattform zum Laufen. Ihre Baugruppe hat vielleicht anderen Speicher, eine andere Einschaltreihenfolge, ein anderes Bootmedium und Peripherie, die das Referenzdesign gar nicht vorsieht. Jeder dieser Punkte muss auf Ihrer Hardware in Betrieb genommen und validiert werden, bevor man sich auf die Software darüber verlassen kann.

Die Build-Umgebung übergeben wir zusammen mit dem BSP, denn Industrieprodukte werden meist länger betreut, als die Toolchain lebt, mit der sie gebaut wurden.

Wann reicht Software für Echtzeitanforderungen nicht mehr aus?

Ist die geforderte Reaktionszeit enger, als ein Software-Scheduler sie einhalten kann, gehört der zeitkritische Ablauf in die Hardware.

Hier ist der Jitter wichtiger als der Durchsatz. Auf einem optimierten Echtzeit-Linux mit einem auf Determinismus ausgelegten Treiber liegt die praktische Grenze bei Jitter im Bereich einiger zehn Mikrosekunden, und dort liegt auch der Wert unseres ausgelieferten NIC-Treibers in den Fragen unten. Werden kleinere Jitterwerte gefordert, muss das Timing in die Hardware, und dafür gibt es mehr als einen Weg:

WegBeispielbausteinWas er leistet
FPGACyclone 10 GX mit PCIeHält das Timing, während die Software alles ohne Deadline übernimmt
SoC mit Echtzeit-SubsystemPRU-ICSS auf TI SitaraDieselbe Aufgabe auf einem einzigen Baustein
Dedizierter Echtzeit-Ethernet-ControllerADI fido5100 · fido5200Legt das Protokoll-Timing ins Silizium
Netzwerkkarte mit Hardware-Zeitstempeln und zeitgesteuertem SendenIntel i210Nimmt einem Standard-Host denselben Jitter ab, ganz ohne programmierbare Logik
SoC-FPGACyclone V SoC (Arm Cortex-A9) · ZynqArm-Kerne und FPGA auf einem Baustein, sodass Software und Timing sich einen Chip teilen

Welcher Weg passt, hängt von Stückzahlen, Protokoll und dem Budget für Timing und Rechenleistung ab. Aus demselben Grund laufen manche unserer Projekte auf hybriden Aufbauten, etwa einem x86-Host mit einem FPGA über PCIe, die als eine Plattform in Betrieb genommen werden.

Auf TI Sitara integriert unser Team die PRU-ICSS-Protokollfirmware von TI mit der Anwendung des Kunden, baut die Schnittstelle zwischen Arm- und PRU-Seite und testet das Zusammenspiel, bis die Fehler, die nur unter echtem Netzverkehr auftreten, eingegrenzt und behoben sind.

Eine Jitter-Achse von einigen zehn Mikrosekunden bis unter eine Mikrosekunde: auf der Softwareseite einer gestrichelten Grenze ein optimiertes Windows mit Scheduling im Millisekundenbereich und ein optimiertes Echtzeit-Linux mit deterministischem Treiber bei einigen zehn Mikrosekunden, jenseits davon fünf Hardwarewege nebeneinander und ohne Rangfolge: FPGA, SoC mit Echtzeit-Subsystem, Echtzeit-Ethernet-Controller, Netzwerkkarte mit Zeitstempeln und SoC-FPGA

Werden weniger als einige zehn Mikrosekunden Jitter gefordert, gehört das Timing in die Hardware.

Was muss ein Low-Power-Design berücksichtigen?

Ein Low-Power-Design verändert die Architektur und die Bauteilauswahl und betrifft damit weit mehr als den Grad der Optimierung.

Es bestimmt, welche Chips überhaupt in Frage kommen, wie der Funkteil im Tastverhältnis arbeitet, ob ein Peripheriebaustein zwischen zwei Messungen am Bus enumeriert bleiben darf und was die Firmware tun darf, während nichts passiert. Drei Dinge müssen in die Hardware eingeplant werden und lassen sich nicht später ergänzen:

  • Abschaltbare Spannungsbereiche, damit sich Peripherie und ganze Teile der Schaltung definiert ab- und wieder einschalten lassen, mit der nötigen Einschaltreihenfolge, dem Einschaltstrom und dem Anlauf der Oszillatoren.
  • Eine Zeitbasis im Schlafmodus, meist eine stromsparende Echtzeituhr oder ein eigener, immer aktiver Timer-Bereich, weil der Hauptoszillator im Tiefschlaf in der Regel abgeschaltet ist.
  • Reserve für Spitzenströme, weil eine schwächer werdende Batterie die Baugruppe im Ruhezustand noch versorgt und dann einbricht, wenn Funkteil oder Aktor ihren Spitzenstrom ziehen. Lokale Pufferkapazität oder ein gestaffeltes Einschalten fangen diese Spitze ab, damit eine kritische Funktion nicht als erste ausfällt.

Eine kleine Bauform verschärft dieselben Zusammenhänge noch einmal, weil bei dieser Größe wenig thermische Reserve bleibt. Beide Anforderungen bestimmen die Bausteinauswahl und die Schaltungstopologie.

Ein kleiner, immer aktiver Bereich mit stromsparender Echtzeituhr oder dauerhaft laufendem Timer neben einem viel größeren, abschaltbaren Bereich mit Funkteil, Sensor-Frontend, Hauptkern und Peripherie in Spannungsbereichen, die sich ab- und wieder einschalten lassen; ein Streifen darunter zeigt das Tastverhältnis, mit einem Gerät, das zwischen kurzen Wachphasen meist schläft

Was aktiv bleibt, was abgeschaltet wird, und das Tastverhältnis, das die Batterielaufzeit bestimmt.

Welche Komponenten eines Messumformers entwickeln Sie?

Wir entwickeln das Gerät selbst: die Baugruppe, das Sensor-Frontend, die Firmware, das Gehäuse und das Energiebudget.

Ein Messumformer-Projekt teilt sich in drei Bereiche, und die meisten brauchen mindestens zwei davon. Sein Kommunikationsstack gehört zu Feldbus und Gerätenetzen, und die Steuerungsanwendung, die den Messwert nutzt und darauf reagiert, zur Steuerungssoftware.

FAQ

Häufige Fragen

Wer entwickelt kundenspezifische BSPs und Firmware für Industriegeräte?
Wir übernehmen das. Wir wählen den Chip, entwerfen die Baugruppe und nehmen sie in Betrieb, schreiben das Board Support Package für die Peripherie, die das Referenzdesign nicht abdeckt, und entwickeln die Firmware darauf, für Gerätehersteller, Maschinenbauer und Chiphersteller. Unser Team hat diese Arbeit auf Xilinx Zynq, Altera Cyclone, TI Sitara und Renesas RZ/N ausgeliefert.
Entwerfen Sie auch die Hardware oder nur die Software?
Beides, und am liebsten zusammen, weil sich die Anforderungen von Treiber und BSP am günstigsten erfüllen lassen, solange der Schaltplan noch offen ist. Wir steigen auch ein, wenn die Hardware schon existiert, und übernehmen nur BSP, Firmware und Inbetriebnahme.
Mit welchen Chipfamilien haben Sie gearbeitet?
Xilinx Zynq und Spartan, Altera Cyclone V SoC und Cyclone IV GX, MAX 10, ARM Cortex-M und Cortex-A, TI Sitara, Renesas RZ/N, STMicro bei Funkprojekten, Intel Atom und Raspberry Pi. Unser Team portiert auch auf Bausteine, mit denen es noch nicht gearbeitet hat; für Chiphersteller ist das zur Markteinführung Routine.
Übernehmen Sie auch Treiber und Middleware?
Ja, und dafür gibt es eine eigene Seite. Hier geht es um die Firmware des Geräts selbst. Host-Treiber, Windows- und Linux-Kernel-Arbeit, Portierung von RTOS-Treibern, Middleware und Echtzeit-Optimierung gehören zur Systemsoftware, weil sie ein eigenes Fachgebiet sind.
Lassen sich harte Echtzeitanforderungen unter Linux erfüllen?
In Grenzen. Auf einem optimierten Echtzeit-Linux mit einem auf Determinismus ausgelegten Treiber halten unsere eigenen NIC-Treiber einen Netzzyklus von 80 µs bei 20 µs Jitter. Das ist derselbe Bereich, den Open-Source-EtherCAT-Master auf PREEMPT_RT erreichen; veröffentlichte Auswertungen nennen dort Zykluszeiten von 100 µs mit Jitter im Bereich einiger zehn Mikrosekunden. Darunter, oder wenn der Jitter unter einer Mikrosekunde liegen muss, braucht es spezielle Hardware oder eine Netzwerkkarte mit Hardware-Zeitstempeln.
Wie beeinflusst der Lebenszyklus eines Bausteins die Chipauswahl?
Er ist eine der Größen, die wir abwägen, neben Toolchain und Lieferbarkeit, und veröffentlichte Herstellerangaben machen ihn überprüfbar. Wir verfolgen die veröffentlichten Zusagen des Herstellers für genau die Bausteine auf Ihrer Auswahlliste, können aber nicht für den Hersteller über dessen Roadmap sprechen. So hat Altera im April 2026 die Lebenszyklusunterstützung für Agilex, MAX 10 und Cyclone V bis 2045 verlängert, nachdem es 2025 aus Intel ausgegliedert worden war. Solche Daten ändern sich, deshalb prüfen wir sie bei jedem Design-Review neu.
Wie sichern Sie die Kompatibilität, wenn Firmware auf einen neuen Chip portiert wird?
Wir legen zuerst die Schnittstelle fest. Die Treiber- und BSP-Schicht fängt auf, was sich zwischen altem und neuem Baustein geändert hat, und die Anwendung darüber durchläuft vor der Umstellung auf beiden Plattformen dieselbe Regressionstest-Suite.
Können Sie Schaltplan und Pin-Mux prüfen, bevor eine Baugruppe in die Fertigung geht?
Ja, auch bei Hardware, die Sie oder ein Partner entworfen haben, als kleinere Variante der oben beschriebenen Arbeit an der Baugruppe.
Normen und Quellen
  • IEC 62443-4-1 / -4-2 – sicherer Entwicklungsprozess und technische Sicherheitsanforderungen an Komponenten, nach denen ein vernetztes Gerät entwickelt wird
  • IEC 61131-9 – IO-Link, eine verbreitete Geräteschnittstelle an industriellen Messgeräten
  • IEEE 802.15.4 / Bluetooth Low Energy – die Nahbereichsfunktechnik hinter dem größten Teil unserer Arbeit an industriellen Funkgeräten
  • IPC-2221 / IPC-6012 – Grundnorm für das Leiterplattendesign sowie Qualifikations- und Leistungsanforderungen an starre Leiterplatten
  • JEDEC JESD22 / IEC 60068 – Prüfverfahren für Umwelt- und Temperaturbelastung elektronischer Bauteile und Geräte
  • Yocto Project – Build-System für eigene Linux-Distributionen und reproduzierbare BSP-Build-Umgebungen
Weiterlesen

Sollen wir das für Ihr Produkt einschätzen?

Lesen Sie zuerst unsere technischen Notizen oder sprechen Sie direkt mit dem Team, das die Arbeit übernimmt.