2013-07-31 18 views
20

Ich möchte die Grundlagen von Embedded Linux lernen. Um dies zu tun, gehe ich davon aus, dass ich eine Art Hardware Board kaufen und den Linux Kernel Code haben muss.Tipps zum Lernen von Embedded Linux

Ich habe keine Ahnung, wo ich anfangen soll und alle Tipps/Hinweise wären sehr willkommen. Idealerweise möchte ich, dass die Leute auf ein vollständiges System hinweisen (z. B. dieses "Board-Kit mit Linux" mit diesen "Handbüchern" sind sehr gut).

Auch sind die Kosten ein Faktor, wie ich dies persönlich nicht als Geschäft mache:)

Vielen Dank, -Code

+2

Wenn Sie es sich leisten können, kaufen Sie eine Beaglebone Black oder Raspberry Pi oder andere Boards in Ihrem Markt verfügbar.Lernen Sie grundlegende Konzepte wie Access GPIO Pins, Lesen von ADC, I2C, SPI, UART aus Userspace. Sobald Sie bequem in Treiber suchen, z. B. GPIO, USB usw., was auch immer Ihr Interesse :). –

+0

Warum nicht QEMU [www.qemu.org] verwenden - ein kostenloses Open-Source-Emulator-Projekt, das stark genutzt wird (z. B. Android SDK). Sie können Anleitungen zum Emulieren eines ARM/Linux-Computers mit QEMU finden. Eg. http://balau82.wordpress.com/2010/03/22/compiling-linux-kernel-for-qemu-arm-emulator/ – kaiwan

+0

Vielen Dank für Ihre Kommentare:), von der Lektüre der Beiträge unten und schauen Sie sich um ein paar andere Quellen es scheint, Beagle schwarz ist eine beliebte Wahl und sieht ziemlich billig !, aber QEMU scheint auch wert, wenn es ist, was ich denke, Sie vermuten, es ist: o (dh ein PC Limux-Emulator, wo Sie den Code hacken können) –

Antwort

19

Sie benötigen:

1 - Boards: Ich begann mit einem Beagle. Eine neue beaglebone black ist jetzt verfügbar. Es gibt eine große Unterstützungsgemeinschaft für die Beagles; viele howto pages here und here, und bereit zu installieren images. Sie können das Bild auch selbst erstellen (Schritt 3). Diese Boards verfügen über die meisten Peripheriegeräte, mit denen Sie möglicherweise spielen müssen, und können auch als zusätzlicher Computer verwendet werden!

2 - Bücher: Wie Mali bemerkte, ist Linux ein sich schnell bewegendes Objekt, aber in den frühen Phasen des Lernens brauchen Sie eine solide Referenz. Ich würde vorschlagen "Embedded Linux Primer: A Practical Real-World Approach", da es viele Beispiele hat und Sie Schritt-für-Schritt führt. Es gibt auch "Building Embedded Linux Systems".

3 - Die Firmware: a) Toolchain, b) Root-Dateisystem und c) Kernel-Image. "Buildroot" ist am einfachsten mit zu beginnen. Openembedded und Yocto haben eine sehr steile Lernkurve. "Embedded Linux Primer: A Practical Real-World Approach" enthält einige Beispiele zur Verwendung von buildroot.

+0

Vielen Dank viel für deine Antwort! Alle diese Optionen sind wirklich geschätzt, es ist gut zu hören, dass viele Leute ähnliche Optionen in Betracht ziehen :) ... scheint wie Beagle ist der Weg nach vorne zu beginnen:) –

+0

Alle Antworten wo wirklich gut, danke !, aber das scheint die meisten genau das, was ich wollte (und tatsächlich bekam). Ich habe die BBB und die zwei Bücher, die empfohlen wurden ... sind nicht so weit wie Toolchain und so .... es gibt eine Menge zu lesen! –

10

Sie haben ein paar coole Boards (nicht teuer) bei Olimex Auch Armadeus ist ein schönes Projekt für den Anfang.

Es hängt wirklich davon ab, was Sie tun möchten und was Sie mögen, zum Beispiel Beitrag zu Replicant sollte auch sehr lustig sein. Sie können auch einen günstigen Router finden, der von openWrt unterstützt wird. Mit anderen Worten, finden Sie ein kleines Projekt, bei dem Sie Spaß haben werden, und wählen Sie Hardware nach.

In Büchern, denke ich, "Building embedded Linux Systems" ist ein Muss, aber Linux ist ein sich schnell bewegendes Ziel, so dass Bücher veraltet sein können.

Für das Erlernen der Grundlagen, empfehle ich Buildroot, um Ihr erstes System zu bauen, es ist einfach im Vergleich zu Open Embedded oder Yocto wie Build-Systeme.

Happy Hacking,

+0

Thnakyou sehr viel :) ... eine weitere für Buildroot, dies scheint meine Liste von Beagle + Buildroot als den ersten Schritt für mich zu vervollständigen. –

+0

Das scheint eine gute Wahl, mit Buildroot werden Sie eine Menge der Grundlagen lernen: wie man eine Cross-Compilierungs-Toolchain generiert, einen Kernel für den Armbogen erstellt, Cross kompiliert und ein Rootfs mit Busybox generiert, und Sohn auf .. – Mali

6

Ich habe gerade mit Embedded Linux begonnen. Ich habe gerade einen Job, wo ich in der Firmware für eine Reihe von Produkten arbeite.
Ich lese dieses Buch "Embedded Linux Primer: A Practical Real-World Approach".
Was in den Produkten implementiert ist, ist in diesem Buch enthalten.
Ich empfehle dieses Buch dringend. Es ist beeindruckend.
Für mich sollte das erste, was Sie tun sollten, bevor Sie tauchen, dieses Buch lesen. Das Buch ist eine Goldmine.

+0

Danke, in der Tat, basierend auf diesen Empfehlungen ist dies das Buch, das ich in meiner Freizeit mit meinen Hausschuhen und einer Tasse Tee lese :) Ich habe auch "Building Embedded Linux Systeme" und einen Beagle Bone Black zum herumspielen auf:) –

+0

Schön .. Vielleicht sollte ich auch lesen "Building Embedded Linux-Systeme" .. –

+0

Ich habe es noch nicht gestartet, aber es scheint eine natürliche Weiterentwicklung :) –

Verwandte Themen