|
|
Embedded Software
Die Funktionen von elektronischen Baugruppen werden immer mehr durch die
Software in Mikroprozessoren, Mikrocontrollern, Digitalen Signalprozessoren und
sonstigen programmierbaren Bausteinen erledigt. Durch den stetigen Fortschritt
bei der Integration von Schaltkreisen (es gilt das Mooresches Gesetz:
Verdoppelung der Integrationsdichte alle 2 Jahre) und das Erreichen von höheren
Taktfrequenzen wird die Software für diese "Embedded Systeme" gleichzeitig auch
immer umfangreicher und komplexer.
Eigenschaften
Man bezeichnet die embedded (hardwarenahe) Software oft auch als Firmware, um
sie von der Software für Applikationen auf einem PC abzugrenzen. In der
folgenden Liste sind die wesentliche Eigenschaften und Unterschiede zur PC
Software aufgeführt:
- Enge Anpassung auf die Peripherie eines Mikrocontrollers und auf die
zusätzlichen Bauteile, die mit dem Mikrocontroller verbunden sind.
- Eine wichtige Eigenschaft ist das Echtzeitverhalten der embedded Software.
Bestimmte Ereignisse müssen innerhalb einer festgelegten Zeit garantiert
abgearbeitet werden bzw. bestimmte Aufgaben müssen innerhalb eines zugeteilten
Zeitrasters erledigt werden.
- Oft sind die Hardwareressourcen beschränkt, d.h. die embedded Software muss
kompakt und speichersparend ausgelegt werden.
- Verwendung mit oder ohne Betriebssystem. Im Gegensatz zur PC-Welt gibt es für
embedded Software eine Vielzahl unterschiedlicher Betriebssysteme.
- Die Benutzerschnittstelle kann beliebige Formen annehmen. Im einfachsten Fall
kann dies z.B. eine Leuchtdiode zur Statusanzeige sein, aber grafische
Benutzeroberflächen, wie man sie von Windows gewöhnt ist, sind genauso möglich.
- Zuverlässigkeit, Fehlertoleranz und Robustheit sind weitere wesentliche
Eigenschaften, um einen Dauerbetrieb unter extremen Bedingungen ohne Störung zu
bestehen.
- Kommunikation mit anderen Systemkomponenten über Busse, speziellen
Schnittstellen und immer häufiger mit der PC-Welt (USB, Firewire, Ethernet,
...).
- Messen, Steuern, Regeln und Anzeige sind die Grundaufgaben von fast jeder
embedded Software.
- Zur Erstellung und Test von embedded Software gibt es viele spezielle Werkzeuge.
Unsere Stärken
- Programmiersprachen C/C++, Java, C#
- Programmierung von Mikrocontrollern der 8051- und ARM 32-Bit-Familie
- Erfahrung mit Windows Embedded und Linux
- Erfahrung mit den Anforderungen für Medizingeräte-Software (z.B. DIN EN 62304)
|