Homepage Wiki Forum Buy

C/C++ Entwicklungsumgebung installieren

Aus GNUBLIN

Inhaltsverzeichnis


Um C und C++ Programme für das Gnublin kompilieren zu können, benötigt man einen Cross-Compiler, weil sich die Architektur des PCs (x86) von der des Gnublins (ARM) unterscheidet. Der Cross-Compiler erzeugt aus dem Quelltext auf dem Computer ausführbaren Code für das Gnublin.


Hallo-Welt-Programm kompilieren

Um Programme für das Linux übersetzen zu können muss man die Toolchain verwenden, die mit arm-linux-gnueabi-gcc bzw arm-linux-gnueabi-g++ startet.

Für ein einfaches Hallo-Welt-Programm reicht dann:

 #include <stdio.h> 
 
 int main(void)
 {
   printf("Hello World!\r\n");
   return 0;
 }

Übersetzen von Hello World auf dem PC:

user@dev-pc ~ $ arm-linux-gnueabi-gcc -o hello hello.c

Das Programm muss anschliessend per SD-Karte oder SSH in das RootFS des GNUBLIN Boards übertragen werden.

ELDK Toolchain installieren

1. Schritt: Download

Herunterladen der Entwicklungsumgebung http://gnublin.org/downloads/eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2

cd /tmp
wget http://gnublin.org/downloads/eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2

Die Datei wird im /tmp Verzeichnis gespeichert.

2. Schritt: Archiv entpacken

sudo tar xjf eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2 -C /

Dieser Befehl extrahiert den Inhalt des Archivs eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2. Der Cross-Compiler wird in das Verzeichnis /opt/eldk-5.2.1/ kopiert.

Der Befehl benötigt root-Rechte, weil das Archiv nach / entpackt wird. Auf Distributionen, die nicht sudo verwenden, muss man zunächst root werden (su) und dann den obigen Befehl ohne sudo ausführen.

3. Schritt: Skript für Umgebungsvariablen erstellen

Um die Umgebungsvariablen so zu setzen, dass das Hostsystem den Cross-Compiler verwenden kann, muss ein Skript in /opt/eldk-5.2.1/set.sh erstellt werden.

sudo touch set.sh

mit folgendem Inhalt:

P1=/opt/eldk-5.2.1/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/
P2=/opt/eldk-5.2.1/armv5te/sysroots/i686-eldk-linux/bin/armv5te-linux-gnueabi/
 
export ARCH=arm 
export CROSS_COMPILE=arm-linux-gnueabi-
export PATH=$P1:$P2:$PATH

4. Schritt: Umgebungsvariablen setzen

Bevor der Cross-Compiler verwendet werden kann, müssen die Umgebungsvariablen gesetzt werden. Dies erreicht man duch "sourcen" des gerade angelegten Skriptes:

. /opt/eldk-5.2.1/set.sh

Man beachte, dass das Skript nicht ausgeführt, sondern gesourced wird. Das heißt, man muss den Befehl genau in dieser Form eingeben: Punkt, Leerzeichen, Pfad

Es empfiehlt sich die .bashrc im Verzeichnis /home/BENUTEZER/ mit dem Script zu erweitern

cat set.sh >> ~/.bashrc

und anschließend neu laden.

. ~/.bashrc

5. Schritt: Cross-Compiler verwenden

Der Cross-Compiler kann jetzt verwendet werden:

arm-linux-gnueabi-gcc -v

Alternativ: Toolchain unter Arch Linux installieren

Unter Arch Linux kann die Toolchain Sourcery CodeBench - Lite Edition installiert werden.

mkdir -p /tmp/arm_cross
cd /tmp/arm_cross
wget http://aur.archlinux.org/packages/ar/arm-none-linux-gnueabi/PKGBUILD
makepkg -si

Komfortabler geht's mit den Wrapper-Tools packer und yaourt.

# wenn yaourt verfuegbar
yaourt -S arm-none-linux-gnueabi
# wenn packer verfuegbar
packer -S arm-none-linux-gnueabi
In anderen Sprachen