Kurse zur Bereitstellung von Linux auf eingebetteten Systemen

Ich bin ein neuer Doktorand in EE und versuche, meine Zeit hier an der Uni voll auszunutzen. Ich wollte schon immer verstehen, wie man Linux auf eingebetteten Plattformen zum Laufen bringt, aber von außen sieht es wirklich obskur aus. Nur einige der Dinge, die Sie wissen müssen, sind unten aufgeführt, jedes mit seinem eigenen Rattennest von Feinheiten:

  • Boot-Ketten, die einen Computer dazu bringen, Ihren Kernel-Code zu laden/auszuführen.
  • Erstellen von Linux-Kernels mit Treibern für das System
  • Cross-Kompilierung, Entwicklungs-Toolchains
  • Bereitstellung, Debugging und Kommunikation über Hardware wie uart.
  • Erstellen Sie ein Userland, um zu tun, was Sie wollen (ich nehme an, wenn Sie hierher kommen, wird es für allgemeine Diskussionen anwendungsspezifisch)

Vielleicht fehlen mir ein paar Schritte.

Welche Ressourcen kann ich verwenden, um etwas über diese Dinge zu lernen?

Ich hatte angenommen, dass es einige Kurse geben würde, die einen kurzen Überblick über diese Themen geben, aber wenn ich mir die Kurslisten ansehe, scheint es, dass es verschiedene Ebenen von „eingebetteten Systemen“ gibt. Viele der Kurse konzentrieren sich auf die Softwareentwicklung für extrem begrenzte Computer. Während des Grundstudiums kulminierte ein berühmter EE-Kurs zu „eingebetteten Systemen“ darin, dass Studenten ihr eigenes Echtzeit-Betriebssystem für einen hypothetischen Verkaufsautomaten von Grund auf neu programmierten. Das ist zwar cool, aber es ist nicht das, wonach ich suche.

Antworten (3)

Das Studium des Beaglebone und der Dokumentation, wie das funktioniert, ist eine großartige Möglichkeit, um zu sehen, wie man Linux auf einem leistungsstarken, aber kleinen ARM-Chip wie dem TI AM3358 (ARM A8 oder A9, glaube ich) einrichtet und ausführt.

Sie durchlaufen den gesamten Prozess der Schnittstelle mit u-boot und den Low-Level-Prozessen und dann die Kernel-Image-Sachen.

Ich arbeitete für eine Firma, die den Beaglebone als Entwicklungsplatine für die Firmware-Leute verwendete, während die Hardware-Leute eine kundenspezifische Leiterplatte herstellten und alle ihre industriellen Steuerkreise darin integrierten.

Sie sollten einen Blick auf "Spindel" werfen:

Es ist eine Reihe von Skripten, die Bilder für den Raspberry Pi erstellen. Zeigt Ihnen, wie Sie eine fremde Architektur booten, QEmu verwenden, um das Ziel zu emulieren, die Pakete in einer Chroot-Umgebung installieren usw.

Das Buch „Building embedded Linux Systems“ (2. Aufl. ISBN 978-0-596-52968-0) deckt alles ab, was Sie wissen wollten. Sie sprechen hauptsächlich über 2.6-Kernel, die "Bleeding Edge" kann untersucht werden, indem man sich das OpenWRT-Projekt ansieht.