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?
Shawn PrestridgeShawnPrestridge
5 min
Wie verändert SDx Embedded-Systeme?IAR
Anzeige
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.
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.
Anzeige
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.
Anzeige
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.
Anzeige
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.
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.
Anzeige
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.
Anzeige
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.
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.IAR
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