ArchiTech-Reihe von SILICA

So kommen Open Source und Embedded-Systeme zusammen

< zurück

Seite: 2/3

Anbieter zum Thema

Die Komplexität von Linux nicht unterschätzen

Jedoch sollte man die Komplexität von Linux einschließlich des Ökosystems nicht unterschätzen. Obwohl sich viele Anwendungen hinsichtlich Funktionen und Ausstattungen ähneln, sind sie nicht vollständig miteinander kompatibel. Dies erschwert den Plattformwechsel vor allem dann, wenn man deren unterschiedliche Funktionen für spezifische Produkte optimal nutzen will.

Darüber hinaus stehen Embedded-Systementwickler oft vor der Herausforderung, Funktionen, die ursprünglich für eine Desktop- und Server-Umgebung gedacht waren, in eine deutlich kleinere Implementierung zu integrieren. Es kann ein echtes Problem sein, eine vorgegebene Linux-Distribution z.B. in ein „headless“-System ohne Display zu transformieren oder in einem kleinen Flash-Speicher unterzubringen.

Bildergalerie

Um die Probleme zu lösen, die durch die zunehmende Fragmentierung von Linux bei Embedded-Systemen entstanden, riefen mehrere Embedded-Hardware- und Software-Anbieter 2010 das Yocto-Projekt ins Leben. Anstatt eine monolithische Linux-Distribution bereitzustellen, die nur schwer auf die vielen spezifischen Anforderungen von Embedded-Systemen angepasst werden kann, unterstützt Yocto die Anpassung über eine skalierbare und modulare Ebenenarchitektur, welche die Inkompatibilitäten zwischen den verschiedenen Konfigurationen minimiert.

Der Schlüssel zu Yoctos Konfigurierbarkeit ist das Build-Werkzeug BitBake, das mit Hilfe von Metadaten-Dateien nicht nur den Kernel, sondern auch das Root-Filesystem und die dazu gehörige Anwendungs-Software für ein endgültiges System-Image konfiguriert.

BitBake vereinfacht die Yocto-Konfiguration

BitBake verwaltet alle notwendigen Schritte für den Bau eines System-Images anhand der vom jeweiligen Entwickler bereitgestellten Definitionen, welche die verschiedenen Konfigurationsoptionen und Abhängigkeiten festlegen. Die Nutzung sogenannter Meta-Layer und deren Konfigurierbarkeit ermöglicht einen schnellen Wechsel zwischen unterschiedlichen Hardware-Plattformen mittels einfachem Rebuild.

Denn alle Hardware-nahen Änderungen wie der Umstieg auf eine andere Prozessorvariante oder der Wechsel von einem Netzwerk-Adapter zu einem anderen werden vom Compiler und den Build-Werkzeugen verwaltet, die sich zu diesem Zweck auf die entsprechenden Hardware-nahen Meta-Layer beziehen.

Bei anderen Plattformen mussten bzw. müssen Entwickler bei einem Wechsel der Prozessoren oder Hardware-Plattformen häufig große Teile ihrer Embedded-Applikation bzw. der darunterliegenden Systemkonfiguration umschreiben. Mit einer Yocto-basierten Infrastruktur reicht dafür zumeist das Ändern oder Einfügen einer Codezeile in der Systemdefinition und das Board Support Package (BSP).

Der Einsatz von Application Frameworks wie Qt steigert die Portabilität sogar noch deutlich. So kann ein großer Teil der Anwendungsentwicklung auf einem Desktop-PC erfolgen und von dort aus mit minimalen Codeänderungen direkt in das Embedded-System auf Qt übertragen werden. Auf diese Weise lassen sich zahlreiche Prototypen von Benutzerschnittstellen erstellen, bevor die endgültige Hardware fertig ist.

Das Einrichten einer Yocto-Infrastuktur ist zeitaufwändig

Das Einrichten einer eigenen Infrastruktur, die auf Yocto basiert, ist nicht ganz einfach. BitBake bietet zahlreiche Optionen. Wer unter Yocto eigene Plattformdefinitionen erstellen möchte, muss deshalb erst einmal viel lernen. Eine gut geplante Kombination aus BSPs und Metadaten kann zwar den Wechsel zwischen Hardware-Plattformen erleichtern. Aber selbst für Entwickler, die mit Grundoptionen vertraut sind, ist die Entwicklung einer eigenen Architektur, die alle Erwartungen in puncto Portabilität und Integrationsfähigkeit erfüllt, noch schwierig und zeitaufwändig. Zudem erfordert eine Yocto-Umgebung für die Entwicklung und die Cross-Compilierung einen Linux-Host, der in einer typischen Windows-Umgebung meistens gar nicht zur Verfügung steht.

(ID:42720070)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung