Datum: | Hardware, Software

Software für den PC oder das Notebook kennt sicherlich jeder, daneben hat sich aber noch eine andere Form von Anwendungen etabliert. Bei den sogenannten „Embedded Systems“ sind diese fest mit der Hardware verbunden und sorgen dafür, dass das Gerät einer bestimmten Logik folgt. Die Steuerung ähnelt dabei der eines Computers. In diesem Beitrag erklären wir Ihnen, wie „Embedded Software“ funktioniert und zeigen anhand einiger Praxisbeispiele, wofür man sie nutzen kann.

Kann Embedded Software auf andere Geräte übertragen werden?

Nein, eingebettete Programme werden speziell für ein bestimmtes Gerät oder eine Funktion entwickelt und lassen sich nicht austauschen oder verändern.

Welche Vorteile hat Embedded Software gegenüber herkömmlichen Programmen?

Embedded Software zeichnet sich einerseits durch einen geringen Stromverbrauch und Platzbedarf aus und ist andererseits auch sehr wartungsarm.

Wo finde ich im Alltag Embedded Software?

Eingebettete Anwendungen werden in allen Bereichen des IoT („Internet of Things“) eingesetzt.

1. Definition: Was ist Embedded Software?

CPU auf Mainboard Embedded Software

Auch die CPU-Taktrate eines Embedded Systems ist in der Regel geringer als die eines konventionellen PC.

Bei „Embedded Software“ (deutsch: „Eingebettete Software“) handelt es sich um Programme, die für eine spezifische Hardware entwickelt wurden. Die Anwendungen laufen dabei vom User weitestgehend unbemerkt im Hintergrund ab und kümmern sich um die Steuerung, Regelung und Überwachung der Funktionen. Als Synonym verwendet man auch häufig der Begriff „Firmware“.

Eine „Embedded Software“ setzt sich im Wesentlichen aus drei Komponenten zusammen, die das Design und die Funktionalität bestimmen:

  • Der Bootloader kümmert sich um das Laden oder Aktualisieren des Betriebssystem und der Applikationssoftware.
  • Das Betriebssystem ist für die Datei- und Speicherverwaltung zuständig und steuert das Multitasking.
  • Die Applikations-Software ist die Schnittstelle zum Host-System. Sie beinhaltet gerätespezifische Funktionen und verarbeitet die zuvor erfassten Daten.

Eingebettete Systeme zeichnen sich häufig durch strenge Rahmenbedingungen aus. Darunter fallen beispielsweise Faktoren wie die Kosten- und Platzminimierung sowie die Senkung des Energiebedarfes. Zudem bestehen in der Regel hohe Anforderungen in Bezug auf die Bedienung, die Zuverlässigkeit, das Echtzeit-Verhalten und natürlich die Sicherheit. Daher ist es kaum verwunderlich, dass die Plattformen oft deutlich vom gewohnten (standardisierten) PC-Design abweichen.

Gut zu wissen: Als Pendant zum „Embedded System“ gilt das sogenannte „Self-Contained System“, bei dem die Funktionen in mehrere voneinander unabhängige Systeme separiert werden. Dazu zählen beispielsweise Mikrocontroller-basierte Automobil-Steuerungen, aber auch eine gewöhnliche Computer-Tastatur.

2. Engineering-Basics: Wie programmiert man Embedded Software? 

Software Code mit Highlights

Für das Schreiben von Embedded Software nutzen Entwickler inzwischen auch moderne Programmiersprachen wie C oder C++.

Die Entwicklung von eingebetteter Software unterscheidet sich vom Schreiben herkömmlicher Computer-Programme und ist auch deutlich anspruchsvoller. Bei einem Embedded System steht nur ein begrenzter Speicher zur Verfügung, Programm- und Datenspeicher sind außerdem voneinander getrennt. Auch die Taktrate des Embedded-Prozessors liegt häufig weit unter der eines herkömmlichen PC-Systems.

Das bedeutet, dass der eingebettet Code nicht nur eine umfangreiche Funktionalität bieten, sondern trotz beschränkter Ressourcen mit der erforderlichen Geschwindigkeit laufen muss. Zudem müssen auch die Anforderungen an die Architektur, das Timing und den Stromverbrauch eingehalten werden.

Glücklicherweise stehen Embedded Entwicklern eine Reihe von Werkzeugen und Techniken zur Verfügung, mit denen sich derartige Designs umsetzen lassen. In der Regel wird Embedded Software in Assembler programmiert, inzwischen kommen aber auch vermehrt Hochsprachen wie C oder C++ zum Einsatz. Diese haben meist einen besseren Compiler. Zudem sind viele der Analyse- und Optimierungstechniken auch für Anwendungen nutzbar, die auf Assembler basieren.

3. Praxisbeispiele für den Einsatz von Embedded Software

Bei dem betreffenden Gerät muss es sich nicht zwangsläufig um einen Computer handeln. Eines der prominentesten Beispiele für ein Embedded System sind moderne Automobile, die sich ohne Elektronik praktisch gar nicht mehr bewegen lassen.

Ob ABS, adaptives Fahrwerk, Airbag, ABS oder die Getriebeautomatik – sie alle werden von hocheffizienter Software gesteuert, die im Wirkverbund mit der zugehörigen Hardware eine genau definierte Funktion als Sub-System ausübt.

Cockpit eines modernen Autos

Moderne Automobile würden sich ohne Embedded Software heutzutage gar nicht mehr fortbewegen.

Bekommt das ABS beispielsweise von den Reifendrehzahlsensoren mitgeteilt, dass das Rad beim Bremsen blockieren könnte, verändert es mit Hilfe hydraulischer Ventile den Bremsdruck am betreffenden Rad. Auf diese Weise bleiben die Lenkfähigkeit und Fahrstabilität erhalten.

3.1. Auch das Bauwesen profitiert von Embedded Software

Bagger mit Embedded Software

Embedded Software revolutioniert auch das Bauwesen. Zahlreiche Maschinen übermitteln mittlerweile Ihre Betriebsdaten per SMS oder Internet an eine zentrale Verwaltung.

Eine andere Branche, die vom Einsatz eingebetteter Software profitiert, ist das Bauwesen. So sind die Baumaschinen des Herstellers Liebherr mit einem Embedded System von Zühlke Engineering ausgestattet, das die Betriebsdaten ausliest und via SMS oder Internet an eine Datenzentrale übermittelt. Ist beispielsweise der Öldruck zu hoch, warnt das System vor einer zu hohen Belastung der Hydraulikschläuche. Zudem besteht die Möglichkeit, die Techniker vor Ort per Fernwartung von der Zentrale aus zu unterstützen.

Und auch in der Produktion automatisiert man immer mehr Prozesse mit Hilfe von intelligenter Software. Inzwischen gibt es sogar Stanz-Maschinen, die in der Lage sind, Unregelmäßigkeiten im Werkstoff zu erkennen. Zudem erkennen sie Fehler im Produktionsablauf und stellen sich anhand dieser Daten innerhalb von Sekunden mittels Software-Update neu ein.

Darüber hinaus findet man Embedded Software aber auch noch in diesen Bereichen:

  • Unterhaltungselektronik, z.B. Fernsehern, digitale Radios, Fernseher, Spielekonsolen oder Streaming-Boxen
  • Telekommunikations-Geräte, z.B. Router oder Mobiltelefone
  • Industrie- und Medizintechnik
  • Militärtechnik
  • Luft- und Raumfahrt
  • Steuerungen von Wasch- oder Geschirrspülmaschinen und Kühlschränken

Gut zu wissen: Die Vernetzung einzelner Embedded Systeme schafft eine Reihe neuer Möglichkeiten für komplexe Umgebungen, mit denen Abläufe in Echtzeit und ohne ständiges Eingreifen durch den Menschen abgebildet werden können.

4. Welche Vor- und Nachteile hat Embedded Software?

Embedded Software: Update auf Notebook

Vereinfachtes Management: Updates sind bei Embedded Software eine echte Seltenheit.

Das Einbetten der Software in ein Gesamtsystem bringt einige wesentliche Vorteile mit sich. Da die Systeme in den meisten Fällen ausschließlich eine Funktion haben, finden sie nicht nur auf sehr geringem Raum Platz, sondern zeichnen sich auch durch einen geringen Stromverbrauch aus. Darüber hinaus sind sie vergleichsweise günstig in der Anschaffung und somit eine sehr preiswerte und effiziente Art der Gerätesteuerung.

Überdies ist Embedded Software sehr wartungsarm, das bedeutet, sie benötigt nur äußerst selten ein Update. Das macht sie vor allem für die Integration in Geräte interessant, die nicht zwingend vom Endnutzer gewartet werden müssen und solche, die keine regelmäßige Aktualisierung erfordern.

4.1. Embedded Software hat auch ihre Grenzen

Trotz aller positiven Aspekte hat Embedded Software auch einige Nachteile, die wir hier nicht außen vorlassen möchten. Zum einen ist sie für den Betrieb des Gesamtsystems unerlässlich und durch das Einbetten leider auch nicht austauschbar. Bei einem modularen Aufbau besteht hingegen die Möglichkeit, Funktionen und Prozesse auch noch nachträglich ein- und auszulagern.

Auch das Aufrüsten eines Embedded Systems ist im Grunde genommen ein Ding der Unmöglichkeit, denn Hard- und Software sind speziell für den Dauerbetrieb ohne Updates ausgelegt. Um ein Embedded System zu modifizieren, müssen Sie das Host-Gerät erst komplett zerlegen, um es nach einer Neuprogrammierung wieder zusammensetzen. In den meisten Fällen ist es daher deutlich günstiger, es gleich ganz auszutauschen.

Ein weiterer Punkt, der des Öfteren zu Problemen führt, ist die Tatsache, dass Embedded Systeme nicht vollständig reaktiv sind. Sie kommunizieren über Sensoren und Aktoren und erwarten eine korrekte Antwort in Echtzeit. Wird diese nicht geliefert, lautet das Ergebnis „FALSCH“, was wiederum die Funktion des Gesamtsystems beeinträchtigt.

Was Embedded Software ist, erfahren Sie auch in diesem Video:

44 Bewertungen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne Ø 4,30
Embedded Software: Definition, Beispiele und Vor- und Nachteile
Loading...

Hinterlasse eine Antwort

(wird nicht veröffentlicht)

Nutzungsrichtlinien beachten