Embedded Systems
telos® Embedded Systems Programmierung
Fortschritt

telos setzt abgesehen von klassischen Mikrocontrollern und CPUs zudem Digitale Signalprozessoren für Meß- und Steueraufgaben ein.
Energie
Modernere und immer leistungsfähigere Plattformen schaffen jedoch nicht nur neue Möglichkeiten, sie schaffen auch neue Herausforderungen. Mobile Geräte sind ein ungebrochener Trend der letzten Jahre und hieraus ergibt sich die Notwendigkeit, aktiv den Energieverbrauch solcher Systeme zu minimieren. Dies umfasst alle Bereiche, vom Hardwaredesign mit restriktiven Abschaltfunktionen für stromhungrige Peripherie bis zu Software, die gezielt Rechenleistung nur bei Bedarf anfordert.
Folglich steht in solchen Fällen nicht die absolute Rechenleistung eines Mikroprozessors im Vordergrund der Auswahl, sondern seine Fähigkeit, möglichst granular nicht benötigte Funktionen abzuschalten.
Betriebssysteme
Werden Anwendungen komplexer, dann ist ein Betriebssystem meist unverzichtbar.
Es gibt eine Reihe von klassischen Echtzeitbetriebssystemen wie CMX, FreeRTOS oder MQX. Wir haben bei telos die Erfahrung gemacht, dass sich viele Vorhaben unter Einsatz von Linux erheblich leichter realisieren lassen, da dieses Vorgehen eine einfache Migration von und hin zu Desktopsystemen ermöglicht und die Portierung von Anwendungen weniger Kosten verursacht.
Vorteile von Linux
Linux hat in den letzten Jahren vor allem im Servermarkt an großer Bedeutung gewonnen und schickt sich jetzt an, den Markt der Embedded Systeme zu erobern. Im Gegensatz zu anderen verbreiteten PC-Betriebssystemen hat Linux gerade für den Embedded Markt entscheidendene Vorteile:
- Linux ist kostenlos; es steht unter der GNU GPL.
- Es existieren robuste und erprobte Entwicklungswerkzeuge für alle denkbaren Plattformen und Programmiersprachen.
- Alle Quelltexte von Linux sind frei verfügbar.
- Linux ist ein vollwertiges Serverbetriebssystem inklusive Multitasking, Speicherschutz und Rechteverwaltung.
- Linux verfügt von Haus aus über einen robusten und gut getesteten Netzwerkstack nebst diversen unterstützenden Werkzeugen und Protokollen, welche in anderen Systemen nicht, nur in Ansätzen oder nur kostenpflichtig vorhanden sind.
Echtzeit Linux
Linux ist wie die meisten anderen Multitasking-Betriebssysteme standardmäßig nicht echtzeitfähig. Das bedeutet, dass das Betriebssystem keine maximale Zeit garantiert, nach der ein Prozeß spätestens Rechenzeit erhält. Dieses ist in vielen Bereichen auch nicht wichtig, kann allerdings z.B. bei Embedded Systemen, die eine Anlage steuern sollen, zu einem Problem werden.
Man stelle sich eine Anlage vor, die ein Faß befüllen soll. Das Embedded System öffnet das Ventil und die Flüssigkeit fließt in das Faß. Nach einiger Zeit meldet ein Füllstandssensor an das System, dass das Faß voll sei. Leider bekommt der Steuerprozeß erst nach 10 Sekunden wieder Rechenzeit. Zu dieser Zeit ist es für das Schließen des Ventils aber zu spät: das Faß ist bereits übergelaufen.
Um Linux auch für solche Steuerungsaufgaben einsetzen zu können, gibt es diverse Echtzeiterweiterungen wie z.B. Xenomai.
telos blickt auf mehr als 15 Jahre in der Portierung und Nutzung von Linux in eingebetteten Systemen zurück. Dies gilt sowohl für die Entwicklung von Treibern und Plattformanpassungen, als auch für die Entwicklung von komplexen und datenintensiven Anwendungen mit Echtzeitanforderungen.