2009-02-18 8 views

Antwort

14

Sobald alles läuft, ist es hauptsächlich Linux-Programmierung. Wenn Sie mit einem Evaluierungsboard beginnen, haben Sie wahrscheinlich schon viele Tools. Wie auch immer, Sie könnten die folgenden Links nützlich finden.

Toolchain: Kreuz-Kompilierung. Sie können den einfachen Weg gehen, zB laden Sie eine vorgefertigte Toolchain von code sourcery herunter. Oder Sie können den harten Weg gehen und Ihre eigene Toolchain bauen. Der harte Weg wird jedoch erleichtert, wenn Sie das richtige Werkzeug verwenden. Croostool-ng ist ein solches Projekt mit einer sehr reaktiven Mailingliste.

Kernel: gut, Arm-Architektur hat sich für eine Weile in Fern gewesen, aber wenn Sie einige ARM-spezifische Frage haben, sollten Sie sie auf jeden Fall fragen there

Userspace: Wenn der Kernel bootet, müssen Sie einen User-Space zu laufen, dh einige Dateisystem, Shell, C-Bibliothek, Init-Prozess usw. Um solche Werkzeuge zu bauen, gibt es viele Möglichkeiten. Einer ist es, alles selbst zu machen. Sie beginnen mit busybox und fahren dann mit den verschiedenen Tools fort, die Sie benötigen. Oder Sie können mit automatisierten und konfigurierbaren Tools arbeiten. Meine Präferenz geht an ptxdist, weil es die richtige Komplexität (für meine Verwendung) hat. Eine andere Möglichkeit ist buildroot, die ich nicht kenne. Und wenn Sie das Gefühl haben, dass Sie etwas Stärkeres brauchen, können Sie vielleicht einen Blick auf OpenEmbedded werfen.

Ich stieß auf einige Bücher im Zusammenhang mit Embedded-Entwicklung, aber es war mehr wie dokumentierte Skripts. Es ist schwierig, ein komplettes Embedded-System zu erstellen, und ich denke, dass Sie in den Tools und der Mailingliste mehr Informationen finden als in Büchern.

0

Wenn Sie eine TS-7000 Serie haben, können Sie die TS-7XXX mailing list abonnieren.

+0

Ich habe das getan. Ich fand auch, dass ihr Entwicklungskit für einen Neuling sehr hilfreich ist. – yrcjaya

0

Eine weitere großartige eingebettete Linux-Ressource ist Embedded Linux: Hardware Software & Interfacing, die vom Autor dieses Buches ausgeführt wird. Er stellt mehrere Beispiele für die Arbeit mit Embedded Linux bereit, von denen die meisten auf der TS-7XXX-Plattform ausgeführt werden.

0

Ich denke, es hängt davon ab, welche Art von Anwendungen Sie entwickeln werden.

Für Linux (nicht Android) und Anwendungen nichts besonderes auf dem ARM-Gerät, ich glaube nicht, dass Sie ARM-spezifische Kenntnisse mit Ausnahme von Build-Tool-Kette benötigen. Distributionen wie Ubuntu und Arch haben ARM-basierte Versionen, fast alle Entwickler-Pakete in ihren Repositories können mit ARM arbeiten.

Für Anwendungen mit Geräten wie Kamera, Beschleunigungsmesser und andere, wenn sie Treiber unter Linux haben, dann nichts zu befürchten.

Was Sie wirklich beachten müssen, sind die Hardwarekomponenten, die unter Linux keinen Treiber oder sehr Baremetal Treiber haben, in diesem Fall müssen Sie direkt mit dem Gerät kommunizieren. Sie müssen entweder innerhalb des Kernels arbeiten oder eine ioctl-ähnliche Schnittstelle verwenden. Dann sind ARM-Speicherverwaltung, I/O-Verwaltung (Mem Mapping, Sondieren usw.), Interrupt-Programmierung, was Sie lernen müssen.Finden Sie das Handbuch für Ihre CPU auf der Website des Anbieters, wie zum Beispiel das Intel x86 oder x64 Entwicklungshandbuch.