1. /Inside
  2. /Embedded Linux

Für jeden Entwickler, der in der Welt der embedded systems zu Hause ist, hat sich das Betriebssystem Linux zu einem konstanten Begleiter entwickelt. Die Frage nach dem ‚Warum‘ ist schnell beantwortet: Der Quellcode ist frei verfügbar, das System kann beliebig konfiguriert werden, es fallen keine Lizenzkosten an und es ist auf nahezu jeder Prozessor-Architektur einsetzbar. Aufgrund dieser Eigenschaften findet man speziell angepasste Linuxsysteme unter anderem in industriellen Steuerungen, in Bedienoberflächen sowie in Infotainmentsystemen im Automotivsektor.

Abhängig vom Kontext werden verschiedene Anforderungen an die Linux-Anwendung gestellt:

  • harte oder weiche Echtzeit
  • schneller Systemstart
  • leichtgewichtiges System
  • hochauflösende Wiedergabe von Videos
  • Einsatz von unterschiedlichsten Bussystemen und Schnittstellen

Linux kann diese vielseitigen Anforderungen durch Anpassungen und Erweiterungen bieten. AUTOSAR on Linux wird zum Beispiel für Steuerungskomponenten im Fahrzeug eingesetzt. Das Open Source Projekt Automotive Grade Linux (AGL) findet Anwendung in In-Vehicle-Infotainment. Für den leichtgewichtigen IoT-Sektor steht eine Integration für Microcontroller ohne Memory Management Unit (MMU) im Mainline Kernel zur Verfügung.

 

Die richtige Linux-Distribution wählen

Wir unterscheiden zwischen dem Vorgehen für „Prototypen ohne besondere Anforderungen“ und dem „Vorgehen für Seriennähe mit besonderen Anforderungen“. Bei der Umsetzung von Prototypen kann es von Vorteil sein, eine Linux-Distribution zu verwenden, die wenig Wartungsaufwand und Detailwissen erfordert, dafür aber nicht so leichtgewichtig und vollständig auf die Anwendung adaptiert ist. Wir setzen bei unseren „Prototypen ohne besondere Anforderungen“ auf die Plattform Raspberry Pi und nutzen für diese Phase die passende Linux-Distribution Raspbian.

Wenn es um den weiteren Einsatz in einem Produktivsystem geht oder es besondere Anforderungen an das System gibt, stehen eine Vielzahl unterschiedlicher Linux-Distributionen und -Komponenten zur Verfügung. Für die flexible Erstellung einer eigenen Linux-Distribution, die genau auf die Bedürfnisse zugeschnitten ist, kann das Yocto Projekt genutzt werden.

 

Das Yocto Projekt

Hersteller der Embedded Branche, wie Windriver und Mentor, setzen auf Yocto, um ihre eigene Linux-Distribution zu entwickeln und stark angepasste Systeme für ihre Kunden zu erstellen. Auch wir verwenden Yocto, um angepasste Linux-Distributionen für die Produktivsysteme unserer Kunden zu erzeugen.

Über den Weg des Crosscompilings wird ein Image und ein passendes SDK für die Zielhardware erzeugt. Im Yocto Projekt hilft die Integration vom BitBake Tool, den OpenEmbedded-Core, die Yocto spezifischen Metadaten sowie das Board Support Package (BSP) zum Poky Build Tool. Mit dem Layerkonzept kann dieses Basiskonstrukt beliebig um Anwendungen, Funktionen und BSPs erweitert werden. Das macht das resultierende Linux-Image sehr flexibel in Bezug auf die Anforderungen, das spätere Einsatzgebiet und die Zielhardware.

Das Fazit zu Embedded Linux lautet: „Wer die Wahl hat, hat die Qual“. Es gibt eine Vielzahl an Distributionen und Lösungen für die Embedded Welt. Seit einigen Jahren ist das Yocto Projekt in diesem Bereich stark vertreten. Viele Anbieter setzen für ihre Linux-Distribution auf dieses Projekt und die darin gepflegten Buildtools. Ist ein Embedded Linux für den Einsatz geplant, ist es definitiv sinnvoll, sich Yocto genauer anzusehen.

 

byNils Bürkner
Nils Bürkner ist Embedded Systems Engineer bei UXMA. Mit seiner Erfahrung in Kommunikationselektronik, Informatik und hardwarenaher Programmierung ist er Experte für Fast Prototyping.
props.nextPost.title

Innovative Geschäftsmodelle für Künstliche Intelligenz