Applicazione per pure.box:
Installare il cross compiler su un sistema Linux
Così installate il cross-compiler su un sistema Linux, in modo da tradurre testi sorgente in C/C++ in file di programma eseguibili per il sistema finale del pure.box:
Al fine di realizzare programmi C/C++ propri per il pure.box, è necessario un cross-compiler che traduca il testo sorgente in un codice macchina eseguibile per il sistema finale. Tale cross compiler può essere installato in pochi passi su un sistema ospite.
Nel caso più semplice il cross-compiler può essere aperto mediante la riga di comando del sistema ospite per realizzare binaries per il pure.box. Inoltre è possibile integrarlo senza problemi in ambienti di sviluppo più complessi come p. es. Eclipse.
A seconda del modello di pure.box e del firmware ivi installato, vengono impiegate versioni diverse di cross-compiler. Il pure.box 3 e il pure.box 5 (fino al firmware 1.38) lavorano sulla uCLib. Dal firmware 1.39 il pure.box 5 usa la GLib. Entrambe le versioni del cross-compiler non possono essere installate parallelamente su un sistema ospite!
L’esempio seguente mostra passo dopo passo come viene installato il cross-compiler. Come sistema ospite viene utilizzato un Ubuntu (64 bit) aggiornato. In generale questa procedura può essere eseguita su sistemi Linux a 64 bit qualsiasi.
-
Caricate il cross-compiler creato da W&T e adatto al vostro pure.box realizzata da W&T.
-
Aprire un terminale con normali diritti utente e passare al registro in cui si trova il cross-compiler scaricato.
Rendete il file eseguibile con il comando indicato a destra.
pure.box 3 e pure.box 5 (fino al firmware 1.38)
chmod +x e-50511-01-swww-009.sh
pure.box 5 (dal firmware 1.39):
chmod +x e-50525-02-swww-000.sh
-
Avviare l’installazione e seguire le istruzioni nel terminale. (Comando v. a destra)
ATTENZIONE: Per questa operazione è necessaria la password root!
pure.box 3 e pure.box 5 (fino al firmware 1.38)
./e-50511-01-swww-009.sh
pure.box 5 (dal firmware 1.39):
./e-50525-02-swww-000.sh
-
Per compilare un programma semplice attraverso la riga di comando è necessario il comando a lato.
arm-linux-gcc richiama il compilatore che genera il codice macchina.
L’opzione -I comunica al compiler dove si trovano i file Include necessari per la pure.box.
-o definisce il file di programma da creare.
L’’indicazione del file (qui: main.c) rimanda al testo sorgente da tradurre.
Per concludere sono necessarie ancora informazioni sull’architettura di processo del sistema finale.
pure.box 3:
arm-linux-gcc -I /usr/local/arm-pkg.armv5te/usr/include/ -o hello_world main.c -mcpu=xscale
pure.box 5:
arm-linux-gcc -I /usr/local/arm-pkg.armv7hl/usr/include/ -o hello_world main.c -mtune=marvell-pj4 -march=armv7-a -mfloat-abi=softfp