Softwaredefinierte Embedded-Systeme

Mehr Software, mehr Komplexität – und dennoch alles im Griff

SDVs, Medizintechnik und Industriesysteme: Die Zukunft der Embedded-Entwicklung wird zunehmend durch Software geprägt. Doch wie lassen sich wachsende Komplexität, lange Lebenszyklen, neue Hardwaregenerationen und regulatorische Anforderungen langfristig beherrschen?

5 min
Wie verändert SDx Embedded-Systeme?

Embedded-Systeme waren schon immer softwaregesteuert. Schon seit Jahrzehnten nutzen Entwickler Software, um ihre Produkte vom Wettbewerb zu differenzieren, die Leistung der Produkte zu verbessern und deren Funktionen über das hinaus zu erweitern, was allein mit Hardware möglich wäre. An dieser Grundidee hat sich über die Jahre nichts geändert, aber der Umfang und die Komplexität der Software haben zugenommen.

Was verändert SDx in Embedded-Systemen?

Denn heute werden mehr Funktionen denn je erst durch Software möglich. Funktionen, Leistungsoptimierungen, Konnektivität, Sicherheitsverhalten und Lifecycle-Management werden zunehmend über Software-Updates statt über Hardware-Neuentwicklungen umgesetzt. Dieser Wandel wird oft als Software-Defined Everything (SDx) bezeichnet und ist vor allem aus dem Bereich der softwaredefinierten Fahrzeuge (Software-Defined Vehicles, SDVs) bekannt. Inzwischen findet es aber auch Anwendungen in der industriellen Automatisierung, im IoT, in Energiesystemen und in der Medizintechnik.

Für Embedded-Teams bedeutet dies keinen radikalen Bruch mit der Vergangenheit. Viele der grundlegenden Prinzipien bleiben gleich, aber es gab Veränderungen: Die Systeme sind vernetzt wie nie zuvor. Der Bedarf an Updates über lange Lebenszyklen hinweg ist stark gestiegen. Die Sicherheitsanforderungen sind strikter geworden. Und Software muss sich auch nach der Auslieferung sicher weiterentwickeln können.

Damit trägt die Software heute deutlich mehr Verantwortung und birgt zugleich höhere Risiken. Denn trotz der zunehmenden Bedeutung von Software bleiben Embedded-Systeme ressourcenbeschränkt, müssen echtzeitfähig sein und sind oft sicherheitskritisch. Flexibilität allein reicht daher nicht aus. Kontrolle, Vorhersagbarkeit und langfristige Stabilität sind wichtiger denn je.

Das Software-Defined Everything wird damit für Embedded-Systeme hochrelevant und stellt eine praktische Herausforderung dar, die mit Sorgfalt bewältigt werden muss.

SDx als Prinzip für mehr Entkopplung

In Embedded-Systemen bedeutet SDx nicht, Hardware aus der Gleichung zu entfernen. Vielmehr geht es darum, Systemfunktionen von spezifischen Hardware-Implementierungen zu entkoppeln, sodass sich Produkte während ihres gesamten Lebenszyklus in erster Linie über Software weiterentwickeln können.

Im Kern basiert SDx in Embedded-Systemen auf einigen zentralen Prinzipien: Eine Software-Schicht abstrahiert Systemfähigkeiten und Datenflüsse, anstatt hardwarenahe Ressourcen wie Peripherien oder Schnittstellen direkt offenzulegen. Diese Abstraktion ermöglicht es der Anwendungssoftware zu beschreiben, was das System tun soll und wie Daten verarbeitet werden sollen, ohne eng an die Datenerfassung, -übertragung oder -erzeugung gekoppelt zu sein.

Dadurch können sich Entwickler stärker auf das Anwendungsverhalten und die Systemlogik konzentrieren, anstatt auf Low-Level-Implementierungsdetails. Gleichzeitig erfüllen sie dabei dennoch strenge Echtzeit-, Leistungs- und Zuverlässigkeitsanforderungen.

Diese Trennung zwischen Anwendungslogik und Implementierungsdetails macht langlebige Systeme auch bei zunehmender Komplexität beherrschbar. Denn wenn Software auf stabilem Systemverhalten statt auf Hardwaredetails basiert, wird Weiterentwicklung kontrollierbar statt fragil.

Die Portabilität ergibt sich daraus nahezu automatisch: Wird Software so entwickelt, dass sie mehrere Prozessor- oder Gerätegenerationen überdauert, erhöhen die Unternehmen ihre Resilienz gegenüber Lieferkettenproblemen und reduzieren ihre Abhängigkeit von einzelnen Anbietern. In der Praxis führt dies zu Softwarearchitekturen, die Prozessor- oder Plattformwechsel überstehen können, ohne komplett neu geschrieben werden zu müssen. Dadurch bleiben sowohl Entwicklungsinvestitionen als auch validiertes Systemverhalten über Hardwarewechsel hinweg erhalten.

Wie SDx Embedded-Branchen verändert

In der Automotive-Industrie ist das SDV-Konzept inzwischen prägend. Die Differenzierung von Fahrzeugen im globalen Wettbewerb erfolgt zunehmend über Software für Fahrerassistenzsysteme, Konnektivität, Nutzererlebnis und die nachträgliche Aktivierung von Funktionen.

Gleichzeitig basieren SDVs auf tief eingebetteten Steuergeräten, die über mehr als ein Jahrzehnt deterministisch, sicher und vorhersagbar arbeiten müssen. Softwaredefinierte Innovation funktioniert hier nur dann, wenn auch Build- und Update-Prozesse kontrolliert ablaufen.

Embedded-CI/CD (Continuous Integration/Continuous Delivery)-Lösungen helfen Entwicklerteams dabei, Determinismus über lange Zeiträume hinweg nachzuweisen und aufrechtzuerhalten, unabhängig von Personen, Maschinen und Releases. Das ist ganz entscheidend, wenn Fahrzeugsoftware kontinuierlich weiterentwickelt wird und gleichzeitig Sicherheits- sowie Compliance-Anforderungen über lange Produktlebenszyklen erfüllen muss.

In der industriellen Automatisierung und im IoT ermöglicht eine SDx-orientierte Strukturierung von Codebasen eine einfachere Wartung, leichtere Rekonfiguration und die kontinuierliche Erweiterung von Funktionen durch Software-Updates. Durch die kontrollierte Weiterentwicklung der Systeme können diese neue Anwendungsfälle unterstützen und optimiert werden, ohne vom ursprünglichen Hardwaredesign eingeschränkt zu werden.

Diese Systeme laufen jedoch häufig ohne Unterbrechung und tolerieren weder Instabilität noch Leistungseinbußen oder Ressourcenlecks. Mit zunehmender softwaredefinierter Funktionalität äußern sich Fehler daher seltener als sofortige Abstürze, sondern eher als Zeitdrift, Speicherfragmentierung oder unerwartete Wechselwirkungen zwischen Tasks, die sich über lange Laufzeiten hinweg aufbauen.

Deshalb müssen Debugging und Optimierung über Trial-and-Error und die isolierte Betrachtung einzelner Komponenten hinausgehen. Mit spezialisierten Tools können Entwickler das tatsächliche Systemverhalten über längere Zeiträume analysieren, einschließlich Speicherverbrauch, Entwicklung von Zeitreserven und Task-Interaktionen unter realer Last. Diese Systemtransparenz ermöglicht es, Ursachen komplexer Probleme früh zu identifizieren, statt nur Symptome zu behandeln.

Bei medizintechnischen Geräten ermöglichen softwaredefinierte Funktionen bessere Diagnostik, Überwachung und Behandlungsmöglichkeiten über die gesamte Produktlebensdauer hinweg. Gleichzeitig muss jedoch jede Softwareänderung kontrolliert, nachvollziehbar und auditierbar sein.

Zertifizierungsfähigkeit ist hier kein Meilenstein am Ende des Projekts, sondern muss ein integraler Bestandteil des Entwicklungsprozesses sein. Softwareweiterentwicklung muss validiertes Verhalten erhalten und gleichzeitig Verbesserungen ermöglichen.

Es gilt, das Verhalten der Software bereits während der Entwicklung und Wartung beobachtbar, reproduzierbar und nachvollziehbar zu machen. Entsprechende Toolchains ermöglichen es Entwicklern, mit reproduzierbaren Builds, konsistenten Codeanalysen und dokumentierten Verifikationsergebnissen nachzuweisen, dass Updates validiertes Verhalten nicht unbeabsichtigt verändern. Auf diese Weise kann sich die Gerätefunktionalität weiterentwickeln, ohne regulatorisches Vertrauen oder Patientensicherheit zu gefährden.

Die Embedded-Realität hinter SDx

Aber trotz aller Vorteile kann SDx die typischen Einschränkungen, die Embedded-Systeme mit sich bringen, nicht beseitigen: Der Speicher bleibt begrenzt, das Echtzeitverhalten bleibt zwingend erforderlich und die Sicherheitsbedrohungen entwickeln sich ständig weiter.

Verändert hat sich aber der Umgang mit diesen Einschränkungen, denn zum Beispiel kann Cybersecurity nicht länger erst nachträglich implementiert werden. In softwaredefinierten Systemen, die sich über die Zeit weiterentwickeln, müssen Schutzmechanismen konsistent und reproduzierbar sein. Doch auch hier gibt es toolseitige Lösungen, die Sicherheitsfunktionen nicht erst im Nachgang „einbauen“, sondern gewährleisten, dass diese softwareseitig definiert, durchgesetzt und verifiziert werden. Dabei werden auch die bereits in modernen Mikrocontrollern vorhandenen Sicherheitsfunktionen genutzt wie auch deren direkte Integration in Build- und Deployment-Prozesse.

Tools für die Entwicklung

Bild 1: Eine vertrauenswürdige, zertifizierte Toolchain für alle Projektphasen ist die Grundlage für den Entwicklungserfolg.

Für Embedded-Systeme, die sich über lange Lebenszyklen hinweg durch Software weiterentwickeln, sind Kontrolle, Reproduzierbarkeit und langfristige Wartbarkeit entscheidend. Die Grundlage hierfür schafft ein erfahrener Embedded-Software-Toolsanbieter wie IAR mit einer vertrauenswürdigen, zertifizierten Toolchain, die sich in moderne Embedded-Workflows integrieren lässt. Durch reproduzierbare Builds in kontrollierten Umgebungen, konsistente Codeanalysen, Transparenz bei Performance und Speicherverbrauch sowie eingebettete Sicherheitsmechanismen ermöglicht die IAR Embedded Entwicklungsplattform softwaredefinierte Innovation und sichert dabei Vorhersagbarkeit und Vertrauen. 

Embedded-Teams setzen zunehmend auf Automatisierung und CI/CD, häufig jedoch ohne sich auf öffentliche Cloud-Dienste verlassen zu können. Mit IAR lässt sich Embedded-DevOps lokal, On-Premises oder in kontrollierten Umgebungen umsetzen, ohne dabei Determinismus, Sicherheit oder Compliance zu gefährden.

So können Embedded-Teams mit den IAR Build Tools eine zertifizierte und vertrauenswürdige Toolchain in moderne automatisierte Build-Infrastrukturen integrieren. Determinismus ist zwar eine Eigenschaft der gesamten Build-Umgebung und nicht allein des Compilers, jedoch sind die Tools darauf ausgelegt, sich innerhalb kontrollierter Build-Workflows konsistent und vorhersehbar zu verhalten. Dadurch können Teams standardisieren, wie Software teamübergreifend , über unterschiedliche CI-Systeme und lange Produktlebenszyklen hinweg erstellt, getestet und veröffentlicht wird.

In softwaredefinierten Systemen entwickeln sich sowohl die Software als auch das Vertrauen in ihre Qualität kontinuierlich weiter. Mit den Codeanalyse-Tools von IAR wird Codequalität nicht als einmalige Aufgabe verstanden, sondern als integraler Bestandteil des gesamten Entwicklungszyklus. Statische und Laufzeitanalysen können konsistent bei jedem Build oder Release angewendet werden. Damit können Teams Coding-Standards automatisch durchsetzen, Fehler frühzeitig erkennen, ihren Code auf bekannte Schwachstellenmuster prüfen und Regressionsrisiken minimieren. Jeder Build kann dank der Integration der Qualitätsprüfungen in Build- und CI/CD-Prozesse unmittelbar analysiert, getestet und validiert werden.

Mit IAR Embedded Trust wird auch die Implementierung von Security Teil des softwaredefinierten Lebenszyklus: Geräteidentität, Signaturen und Schutzmechanismen werden konsistent verwaltet und nicht erst nachträglich hinzugefügt oder manuell verwaltet.

Softwaredefinierte Systeme bleiben an physikalische Grenzen gebunden. Doch IAR-Tools ermöglichen eine präzise Kontrolle über Leistung und Speicherverbrauch, sodass Teams ihre Software gezielt hinsichtlich Größe, Geschwindigkeit und Energieverbrauch optimieren können. Dadurch lassen sich selbst bei wachsendem Funktionsumfang unnötige Hardware-Upgrades vermeiden und Stücklistenkosten unter Kontrolle halten.

Wird dennoch neue Hardware erforderlich, können zusätzliche Kosten eingespart werden, wenn Embedded-Produkte über mehrere Hardwaregenerationen hinweg genutzt werden. Mit einer Entwicklungsplattform wie der von IAR können Unternehmen sicherstellen, dass ihre Softwarearchitekturen auch bei einem Prozessorwechsel langfristig Bestand haben. Dadurch bleiben Systeme selbst bei volatilen Lieferketten flexibel und die Risiken bei der Migration auf neue Hardware werden deutlich reduziert.

Fazit: Softwaregetriebene Innovation mit Kontrolle

Software-Defined Everything bedeutet nicht schnelle Veränderung um jeden Preis. Bei der Entwicklung von Embedded-Systemen geht es vielmehr um Zuverlässigkeit, Effizienz und Sicherheit. Softwaredefinierte Embedded-Systeme in Automotive, Medizintechnik und Industrie werden erst mit dem Einsatz der richtigen Toolchain realisierbar, denn sie überführen Builds, die Optimierung von Leistung, das Implementieren von Security und die Einhaltung von regulatorischen Anforderungen in kontrollierte und reproduzierbare Softwareprozesse. So können Unternehmen über die Software innovative Anwendungen und Produkte planvoll umsetzen und behalten dabei stets die Kontrolle über ihre Embedded-Systeme. (bs)

Autor

Shawn Prestridge, US Field Applications Engineering Manager bei IAR