Embedded Systems
telos® Embedded Systems Programmierung
Fortschritt
![](/wp-content/uploads/sites/2/2015/12/ADSP-quer.jpg)
Einchiplösungen mit integriertem USB, Ethernet, SPI, UART, CAN und vielen weiteren Standardschnittstellen sind weit verbreitet, und die Grenzen zwischen klassischen Computern und eingebetteten Systemen verschwimmen zunehmend. Hersteller wie ST und Freescale bieten ein umfassendes Portfolio von Prozessoren an, die auf der gleichen Architektur basieren, sich aber deutlich in Ausstattung und Bauteilgröße unterscheiden.
telos setzt neben klassischen Mikrocontrollern und CPUs auch Digitale Signalprozessoren für Mess- und Steueraufgaben ein.
Energie
Moderne und leistungsfähigere Plattformen schaffen nicht nur neue Möglichkeiten, sondern auch neue Herausforderungen. Mobile Geräte sind ein ungebrochener Trend der letzten Jahre, was die Notwendigkeit mit sich bringt, den Energieverbrauch solcher Systeme aktiv zu minimieren. Dies umfasst alle Bereiche, vom Hardwaredesign mit restriktiven Abschaltfunktionen für stromhungrige Peripherie bis hin zu Software, die gezielt Rechenleistung nur bei Bedarf anfordert.
In solchen Fällen steht nicht die absolute Rechenleistung eines Mikroprozessors im Vordergrund, sondern seine Fähigkeit, nicht benötigte Funktionen möglichst granular abzuschalten.
Betriebssysteme
Werden Anwendungen komplexer, ist ein Betriebssystem meist unverzichtbar.
Es gibt eine Reihe von klassischen Echtzeitbetriebssystemen wie CMX, FreeRTOS oder MQX. Unsere Erfahrung bei telos zeigt, dass viele Projekte durch den Einsatz von Linux erheblich leichter realisiert werden können. Dies ermöglicht eine einfache Migration von und hin zu Desktopsystemen und reduziert die Portierungskosten von Anwendungen.
Vorteile von Linux
- Linux ist kostenlos und 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 sowie diverse unterstützende Werkzeuge und Protokolle, die 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 Prozess spätestens Rechenzeit erhält. Dies ist in vielen Bereichen nicht wichtig, kann aber bei Embedded Systemen, die eine Anlage steuern, problematisch sein.
Stellen Sie sich eine Anlage vor, die ein Fass befüllen soll. Das Embedded System öffnet das Ventil, und die Flüssigkeit fließt in das Fass. Nach einiger Zeit meldet ein Füllstandssensor, dass das Fass voll ist. Wenn der Steuerprozess erst nach 10 Sekunden wieder Rechenzeit erhält, ist es zu spät: das Fass läuft über.
Um Linux für solche Steuerungsaufgaben einsetzen zu können, gibt es diverse Echtzeiterweiterungen wie Xenomai.
telos blickt auf mehr als 20 Jahre Erfahrung in der Portierung und Nutzung von Linux in eingebetteten Systemen zurück. Dies umfasst sowohl die Entwicklung von Treibern und Plattformanpassungen als auch die Entwicklung komplexer und datenintensiver Anwendungen mit Echtzeitanforderungen.