Hardware / Firmware & Embedded-Software
Firmware & Embedded-Software
Echtzeit-Firmware und Embedded-Software für Mikrocontroller und vernetzte Geräte, von der ersten Inbetriebnahme bis zum stabilen, feldtauglichen Stand. Auf Platinen, die wir mit Ihnen entwerfen, oder auf Hardware, die bereits existiert oder anderswo gebaut wird. Muss auch die Platine noch entworfen werden, ist das Embedded Engineering.
Leistungen
- Echtzeit-Firmware (Bare-Metal und RTOS)
- Sensortreiber und Signalerfassung
- Synchronisierte Mehrkanal-Erfassung
- Signalverarbeitung auf dem Gerät
- Echtzeit- und Embedded-Linux
- Anbindung an die Cloud
- Energiebewusste Firmware-Architektur
- Fehlersuche im Feld und Langzeitzuverlässigkeit
Wie Firmware feldtauglich wird
Inbetriebnahme ist kein Schritt, den man überspringt, weil der Schaltplan stimmte.
EINSCHALTEN
Spannungen, Takte, und ob der Baustein überhaupt lebt
EINZELN
jede Peripherie für sich nachgewiesen, bevor etwas integriert wird
TREIBER
den Sensor richtig ansprechen, nicht ein Beispiel kopieren
TIMING
der Teil, der entscheidet, ob die Daten etwas bedeuten
DAUERLAUF
tagelang laufen lassen, weil die interessanten Fehler langsam sind
FELD-STAND
was ausgeliefert wird, mit erreichbaren Debug-Pfaden
Auf Hardware, die wir selbst entworfen haben
Die meiste Embedded-Software schreiben Softwareteams, die gelegentlich ein Hardware-Projekt übernehmen. Bei uns ist es umgekehrt.


Die Firmware unserer eigenen Sensorknoten wurde hier geschrieben, für hier entworfene Platinen. Sie erfasst acht Audiokanäle an einem gemeinsamen Abtasttakt, verarbeitet sie auf dem Gerät und hält einen zweiten Knoten über gewöhnliches Kabel in derselben Zeitbasis. Nichts davon war beim ersten Versuch richtig.
Genau dafür lohnt es sich, jemanden zu holen. Firmware, die kompiliert, ist keine Leistung. Firmware, die sich beim zweihundertsten Einschalten noch richtig verhält, in der Kälte, an einer grenzwertigen Versorgung, mit einem Sensor, der gelegentlich lügt, ist eine andere Sache. Man kommt dorthin, indem man die Platine Baugruppe für Baugruppe in Betrieb nimmt, misst statt annimmt und festhält, was der Labortisch gezeigt hat, auch die Befunde, die eine weitere Platinenrevision bedeuteten.
Kaum ein Produkt verlangt acht Kanäle im Gleichschritt. Verlangt wird ein Gerät, das ein Jahr mit einer Batterie auskommt, einen August im Schaltschrank übersteht und ein Update ohne Einsatz vor Ort annimmt. Das ist dieselbe Technik, mit mehr Spielraum.
Ansehen, was damit gemessen wurde →Was die Arbeit typischerweise umfasst
Inbetriebnahme und Platinen-Debugging
Erstes Einschalten, Spannungen und Takte gegen den Entwurf geprüft, dann jede Baugruppe für sich nachgewiesen. Wo die Platine falsch ist, finden wir es hier statt im Feld.
Treiber und Erfassung
Sensoren korrekt angesprochen: Initialisierung auf Registerebene, das Timing, das das Datenblatt tatsächlich verlangt, Kalibrierung und ein Datenpfad, der unter Last keine Abtastwerte verliert.
Timing und Synchronisation
Ein Abtasttakt für alle Kanäle und getrennte Geräte in einer Zeitbasis. Hier entscheidet sich, ob ein Multisensor-Produkt funktioniert.
Signalverarbeitung auf dem Gerät
Filterung, Spektralanalyse, Detektion und Schätzung innerhalb des Energie- und Latenzbudgets des Mikrocontrollers statt auf einem Server.
Echtzeit- und Embedded-Linux
Wo das Gerät groß genug dafür ist: Kernel und Userspace, Device Tree, Boot- und Update-Strategie und Echtzeitpfade, die auch wirklich in Echtzeit bleiben.
Energieverhalten
Tastverhältnis, Schlafzustände und Weckquellen gemeinsam mit der Elektronik entworfen, damit Laufzeit eine Zahl ist und keine Hoffnung.
Vom Gerät in die Cloud
Übertragung, Pufferung und Wiederverbindung unter der Annahme geschrieben, dass die Verbindung ausfällt, denn das wird sie. Und auf Wunsch der Dienst auf der anderen Seite.
Zuverlässigkeit über die Zeit
Watchdogs, Fehlerpfade und die Ausfallarten, die erst nach einer Woche Dauerlauf auftauchen. Dauertest vor der Auslieferung, nicht danach.
Updates und Wiederanlauf
Firmware, die sich im Feld ersetzen lässt und die nach einem fehlgeschlagenen Update von selbst zurückkommt, statt jemanden mit Programmiergerät vor Ort zu brauchen.
Wie Projekte typischerweise beginnen
Die Entscheidungen, die ein Jahr später Geld kosten (Bauteilwahl, Schnittstellen, Update-Weg, wie das Gerät getestet wird), fallen in den ersten Wochen.
- 01
Zuerst die Hardware lesen
Schaltplan, Platine, Datenblätter und was an Firmware schon existiert. Bevor wir etwas schätzen, wollen wir wissen, was wir tatsächlich übernehmen, und wo eine Pinbelegung oder ein Bauteil Sie später in der Firmware Aufwand kostet, sagen wir es früh.
- 02
Inbetriebnahme oder Übernahme
Entweder eine neue Platine, auf der noch nie Code lief, oder eine bestehende Codebasis, die ihren Autoren über den Kopf gewachsen ist. Beides ist normal; das Zweite ist häufiger.
- 03
Messbar machen
Instrumentierung und Tests, die zeigen, ob das Gerät funktioniert, statt eines Eindrucks, dass es zu funktionieren scheint. Hier sind die meisten Embedded-Projekte unbemerkt am schwächsten.
- 04
Härten und übergeben
Feldbedingungen, Grenzfälle, der Update-Weg und eine Dokumentation, die mit der Arbeit entsteht, damit nichts davon abhängt, dass wir für immer verfügbar sind.
Verwandt
Firmware, die unbeaufsichtigt laufen muss?
Schicken Sie die Platine, den Schaltplan, das Repository oder nur die Randbedingungen, was eben existiert. Sie bekommen eine ehrliche Einschätzung, was der Baustein leisten kann, was das Timing zulässt und wo das Risiko tatsächlich liegt.
Projekt besprechen →