events
Am 24. Mai 2012 findet das DESIGN&ELEKTRONIK-Entwicklerforum »HMI – Komponenten & Lösungen« mit begleitender Fachausstellung statt. Die Themen: »Bedienen und Beobachten: Technik, Know-how und Tools für das Design moderner Benutzerschnittstellen«.
Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.
Ausführliche Informationen:
www.embedded-entwicklerforum.de
Produkte des Jahres 2012
Linux /ARM
Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?
Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.
Ausführliche Informationen:
www.arm-entwicklerkonferenz.de
embedded world Technology Report
Infos und Hintergründe rund um Android im Embedded-Umfeld.
Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.
Interessiert? Hier geht es zum kostenlosen Download
embedded world special
Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.
Windows Embedded Standard 7
Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.
Windows 7 - Special zum Download
Marktübersichten Embedded
Wer bietet was?
Schnelle Information auf einen Klick!
Software im sicherheitskritischen Bereich
Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.
Mainline Linux für Cortex-A8
Offizieller Linux Kernel für die eigene Hardware
Der Linux-Entwicklungsprozess. Durch den Review-Prozess der Community ist ein hoher Qualitätsstandard gesichert.
Linux ist eine attraktive Plattform für Embedded-Projekte in Industrie, Automotive und Medizintechnik. Aber wie erreicht man höchste Qualität auf eigener Hardware? Eine Antwort auf diese Frage liefert der Entwicklungsprozess des Mainline Kernels von Linus Torvalds.
Anzeige
In den letzten Jahren war zu beobachten, dass viele Hardware-Hersteller bei der Linux-Portierung einen vermeintlich leichten Weg gehen:
| Der Kernel-Source-Code wird genommen, | |
| Unterstützung für eigene Hardware wird entwickelt und | |
| das Ergebnis wird ausgeliefert. |
Nicht selten wird dabei das zentrale Ziel des Herstellers sichtbar: Linux soll möglichst schnell, ohne großen Aufwand und mit vollem Funktionsumfang unterstützt werden. Schließlich sind Prozessor oder Modul ja bereits fertig, es muss nur noch "schnell ein bisschen Software" entwickelt werden.
Industrielle Anwender erwarten von Linux hingegen die vom Mainline Kernel gewohnte hohe Qualität, die auch den bekannten Distributionen für PC und Server eine stabile Basis bietet. Leider können die schnell zusammengebauten Hersteller-Ports diese Erwartungen nur selten erfüllen. So müssen sich Anwender dann mit der Fehlersuche dicht an der Hardware beschäftigen, obwohl sie sich eigentlich auf ihre Applikationen und ihr Produkt konzentrieren wollen.
Erschwerend kommt hinzu, dass die Änderungen der Hersteller am Linux Kernel oft sehr stark verschleiert sind, so dass man nur mit großem Aufwand herausfinden kann, was überhaupt modifiziert wurde und warum. Die Folge: Industrieanwender sind unzufrieden mit dem Hersteller und der Hersteller hat Aufwand mit Supportanfragen. Beides verzögert die Time-to-Market der Produkte.
Der Mainline-Prozess
Was können Hersteller tun, um das Problem zu umgehen? Dazu ist es hilfreich, sich den Entwicklungs-Prozess in der Linux Community anzuschauen (siehe Bild oben): Linus Torvalds veröffentlicht regelmäßig alle drei Monate auf www.kernel.org den so genannten "Mainline Kernel". Nach jedem Release werden für zwei Wochen ("Merge Window") neue Funktionen in den Kernel aufgenommen. Diese wurden lange im Vorfeld von den Entwicklern auf themengebundenen Mailinglisten diskutiert, einem "Peer Review" unterzogen und auf ihre Qualität geprüft. Nur was von vielen erfahrenen Entwicklern für gut befunden wird, findet seinen Weg über die Maintainer in den Mainline Kernel. Die restlichen zehn Wochen bis zum Release dienen Test und Stabilisierung.
Auch beim Portieren neuer ARM-Hardware in den Kernel sollte man diesen Weg gehen, gemäß der Open-Source-Maxime "Release Early, Release Often" sollte ein Kernel Port in kleinen Stücken mit jeweils nur einer Funktion entwickelt und sofort auf den zuständigen Mailinglisten zur Diskussion gestellt werden. Während so der Linux-Port für eine Hardware bei den Entwicklern wächst, finden die ersten Code-Fragmente schon ihren Weg durch den Review in die Mainline.
Beispiel: i.MX
Seit 2005 wird die Freescale-i.MX-Architektur Stück für Stück in den Mainline Kernel gebracht. Heute sind dort MX1, MX21, MX25, MX27, MX31, MX35 und MX51 bereits unterstützt und weitere Derivate in Arbeit. Bei neueren Prozessoren wie dem MX51 (Cortex-A8) wird mit nur wenigen hundert Zeilen Code bereits begonnen, diesen in den Mainline Kernel zu bringen. Der vollständige Funktionsumfang folgt dann nach und nach.
Ist eine Keimzelle erst mal vorhanden, finden sich oft neben dem Kern-Team an vielen Stellen in der Community Entwickler, die spezielle Themen und Treiber beisteuern und vorantreiben. Für die Entwickler ergibt sich der Vorteil, dass Fehler und Designschwächen frühzeitig erkannt werden und unnötiger Aufwand vermieden wird.
Das Ergebnis: das Peer Review sichert die Qualität und es entsteht kompakter, hochwertiger Code, mit dem der industrielle Anwender wenig Probleme hat. Er kann jeden zukünftigen Kernel ohne Zutun des Herstellers auf seiner Hardware nutzen: Neue Features stehen ebenso zur Verfügung wie Bug Fixes und gesteigerte Performance. Darüber hinaus garantiert die Mainline eine langfristige Verfügbarkeit der unterstützten Komponenten.
Hersteller sind also gut beraten, den Mainline-Prozess bereits von Anfang an zu ihrem Vorteil zu nutzen: Das schafft zufriedene Kunden und geringen Support-Aufwand.
Der Autor:
| Dipl.-Ing. Robert Schwebel |
|---|
| ist bei Pengutronix als Head of Embedded Linux Development tätig und leitet ein Kernel-Entwicklerteam, das mehrere ARM-Subarchitekturen im Linux-Kernel betreut. |
Weiterführende Links:









