Ich bin gespannt auf das Kompilieren und möchte die neuesten und besten Tools verwenden.
Tatsächlich müssen die neuesten und besten Tools nicht selbst erstellt werden. Im GitHub-Repository des Raspberry Pi Tools finden Sie die Toolchains X86_64
und x686
für die kompilierungsübergreifende Software.
Ich empfehle, die x86-linux64-cross-arm-linux-hardfp
Toolchain zu verwenden, da diese für Hard Floating Point kompiliert wird, was zu einem viel schnelleren System führt.
$ arm-bcm2708hardfp-linux-gnueabi-gcc --version
arm-bcm2708-linux-gnueabi-gcc-4.5.1 (Broadcom-2708) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
Hinweis: Wenn Sie einen vorhandenen Kernel verwenden, müssen Sie die Toolchain verwenden, die dem Kernel entspricht. HardFP-Anwendungen funktionieren auf einem SoftFP-Kernel nicht.
Um die Toolchain zu verwenden, checken Sie einfach das Repository aus:
git clone https://github.com/raspberrypi/tools.git --depth 1
Der --depth
Parameter bedeutet, dass Sie nicht warten müssen, bis der Repository-Verlauf ebenfalls heruntergeladen wurde (da wir ihn nicht verwenden).
Fügen Sie dann die Binärdateien zu Ihrer PATH-Variablen hinzu:
export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH
Oder um den PFAD beizubehalten:
echo "export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Um mit der Werkzeugkette zu kompilieren, können Sie jetzt den CROSS_COMPILE
Parameter hinzufügen . Zum Beispiel beim Laufen make
:
make CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
Oder um dies zu vereinfachen, können Sie die Variable bashrc
erneut speichern :
echo "export TARGET=arm-bcm2708hardfp-linux-gnueabi" >> ~/.bashrc
source ~/.bashrc
Und jetzt benutze die Variable beim Kompilieren:
make CROSS_COMPILE=${TARGET}