Beste Möglichkeit, arm-elf-gcc auf einem Linux-Rechner zu installieren

Hallo Leute, ich arbeite an einem Gerät, das arm-elf-gcc verwendet, um Code für ein MakingThings-Prototyp-Board zu kompilieren. Meine Entwicklungsmaschine ist eine Linux-Box mit Ubuntu 9.10. Auf einer anderen Linux-Box mit Ubuntu habe ich arm-elf-gcc zum Laufen gebracht, indem ich gcc manuell erstellt und installiert habe, nach 3 oder 4 Versuchen.

Ich versuche, den besten Weg zur Installation der Toolchain zu finden, aber es scheint keinen besten Weg zu geben, AFAIK. Die Einrichtung auf 9.08 und 9.10 scheint beide fehlzuschlagen, außer wenn ich die Umgebung manuell erstelle und installiere.

Ich habe Emdebian-Pakete und CodeSourery ausprobiert, und keines davon hat gut funktioniert.

Hat jemand andere gute Vorschläge für ein arm-elf-gcc-Setup auf einer Linux-Box?

Als Hinweis: Für den manuellen Bau von arm-elf-gcc verwende ich eine modifizierte Version der Anleitung unter hermann-uwe.de/blog/…

Antworten (8)

Ich würde sagen, CodeSourcery Lite ist der einfachste Weg. Die Lite-Version besteht nur aus den GNU-Tools (keine ausgefallenen IDEs usw.).

Es wird sauber in einem einzigen Verzeichnis installiert, Sie müssen nur Ihren PATH so einstellen, dass er darauf zeigt.

Hier ist ein ziemlich guter Artikel , der teilweise das Erstellen Ihrer eigenen Cross-Compiler-Toolchain mit crosstool-ng behandelt . Sie können es hilfreich finden, wie ich es getan habe.

Ich denke, der beste Weg ist, gcc in einem Versuch manuell zu erstellen und zu installieren. ;-)

Dies erfordert jedoch, dass Sie es ein paar Mal zum Üben tun, und meine eigene Punktzahl war beim letzten Mal zwei Versuche (makeinfo fehlte wieder beim Erstellen von Binutils). Ich verwende meine eigenen Skripte, die ähnlich sind, aber separat heruntergeladen und erstellt werden.

Ich weiß nicht, ich hätte viel lieber jemand anderen, der sich die Mühe macht, herauszufinden, wie man GCC kompiliert und verpackt, als das selbst lernen zu müssen. Mein Ziel ist es, Programme zu schreiben, nicht Toolchains zu warten, also ist es nicht so nützlich zu lernen, wie man das macht.
Ja, aber soweit ich weiß, gibt es diese Pakete nicht. (Für AVR verwende ich avr-gcc.)

Platzieren Sie Ihre Toolchain in etwas wie /usr/local/arm-elf-toolchain und fügen Sie die entsprechenden Präfixe in Ihre Makefiles ein und Sie sollten in Ordnung sein. Ich kann wirklich empfehlen, die Toolchain in ein separates Verzeichnis zu legen, damit Sie Ihre aktuelle(n) Toolchain(s) nicht durcheinander bringen.

Ich habe die Toolchain mithilfe des Tutorials von Madox installiert .

Nach der manuellen Kompilierung und Installation wie in diesem Link beschrieben funktionierte alles wie am Schnürchen.

Ich stimme Joby Taffey zu, dass CodeSourcery wahrscheinlich eine gute Wahl ist.

Vor einiger Zeit habe ich jedoch begonnen, ein wenig mit dem stm32 (ST:s Arm Cortex M3 mcu) zu spielen, und dabei habe ich diese Seite erstellt.

Vielleicht hilft es dir irgendwie weiter?

Wenn Sie einem Upgrade auf eine neuere Version von Ubuntu nicht abgeneigt sind, können Sie einfach einen ARM-Cross-Compiler aus dem offiziellen Repository installieren.

Die Versionen 10.10 ("Maverick") und höher haben ein gcc-arm-linux-gnueabiPaket und ein entsprechendes binutils. Diese befinden sich im Repository „Universum“.

Quelle: dak

Das Summon ARM Toolchain- Skript hat für mich wunderbar funktioniert. Beachten Sie, dass dies nur zum Einrichten der Toolchain für die Bare-Metal-ARM-Entwicklung und NICHT zum Cross-Compilieren für Linux-ARM-Ziele funktioniert. Aus Gründen der Klarheit bedeutet dies, dass es nicht funktioniert, ein Programm zu kompilieren, das unter Linux ausgeführt werden kann, das auf dem ARM ausgeführt wird. Außerdem wird die vollständige Toolchain installiert, so ziemlich alles, was Sie für Bare-Metal-Arbeiten auf ARM benötigen.