Anwendungsoptimierte Entwicklungs-Boards

Effizient entwickeln mit Open-Source Software

8. Juli 2014, 16:14 Uhr | Von Christopher Young
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Yocto als Grundlage kompatibler Konfigurationen

Um die Probleme, die durch die zunehmende Fragmentierung von Linux im Bereich der Embedded-Systeme in den letzten Jahren entstanden sind, zu lösen, wurde 2010 von mehreren Embedded-Hardware- und Software-Anbietern das Yocto-Projekt ins Leben gerufen. Anstatt eine monolithische Linux-Distribution bereitzustellen, die sich nur schwer auf die vielen speziellen Anforderungen von Embedded-Systemen anpassen lässt, unterstützt Yocto die Anpassung über eine skalierbare und modulare Ebenenarchitektur, welche die Inkompatibilitäten zwischen den verschiedenen Konfigurationen minimiert.

Der Schlüssel zur Konfigurierbarkeit von Yocto ist das Build-Werkzeug BitBake, das mit Hilfe von Metadaten nicht nur den Kernel, sondern auch das Root-Dateisystem und die dazugehörige Anwendungs-Software für ein endgültiges System Image konfiguriert. ­BitBake verwaltet alle notwendigen Schritte für den Bau eines System Image anhand der vom Entwickler bereitgestellten Definitionen, welche die verschiedenen Konfigurationsoptionen und Abhängigkeiten festlegen. Das Nutzen sogenannter Meta-Layer und deren Konfigurierbarkeit erlaubt einen schnellen Wechsel zwischen unterschiedlichen Hardware-Plattformen mittels eines einfachen Rebuild. 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 müssen die 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 genügt zumeist das Ändern oder Einfügen einer Codezeile in der Systemdefinition sowie das Board Support Pa­ckage.

Durch den Einsatz von Application Frameworks wie Qt lässt sich die Portabilität sogar noch deutlich steigern. So kann hiermit 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.

Die Einrichtung einer eigenen, Yocto-basierten Infrastruktur ist jedoch nicht ganz einfach. Bit­Bake bietet hierfür eine riesige Anzahl an Optionen. Wer unter Yocto eigene Plattformdefinitionen erstellen möchte, muss sich deshalb ausführlich informieren. Eine gut abgestimmte Kombination aus BSPs und Metadaten erleichtert zwar den Wechsel zwischen Hardware-Plattformen. Doch selbst für Entwickler, die bereits mit den Grundoptionen vertraut sind, ist die Entwicklung einer eigenen Architektur, die alle Erwartungen in punkto Portabilität und Integrationsfähigkeit erfüllt, kompliziert und zeitaufwendig. Zudem erfordert eine Yocto-Umgebung für die Entwicklung und die Cross-Compilierung einen Linux-Host, der in einer typischen Windows-Umgebung meist nicht zur Verfügung steht.


  1. Effizient entwickeln mit Open-Source Software
  2. Open-Source Tools auf Linux-Basis
  3. Yocto als Grundlage kompatibler Konfigurationen
  4. Die Yocto-Umgebung als virtuelle Maschine
  5. Eclipse als Open-Source-Grafik-IDE

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Avnet Silica

Weitere Artikel zu Distribution

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM