W&T collega
Adattatori per TCP/IP, Ethernet, RS-232, RS-485, USB, 20 mA, Fibra ottica di vetro e plastica, http, SNMP, OPC, Modbus TCP, I/O digitale, I/O analogico, ISA, PCI

Applicazione:

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 della Motherbox e della pure.box:

Per poter realizzare i propri programmi C/C++ per la Motherbox e la pure.box è necessario un cross compiler che traduca un 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 richiamato mediante la riga di comando del sistema ospite per realizzare binaries per la Motherbox e la pure.box. Inoltre è possibile integrarlo senza problemi in ambienti di sviluppo più complessi come p. es. Eclipse.

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.

  • Scaricare la toolchain realizzata da W&T.
    (Ultimo aggiornamento: 13.12.2019)
  • Aprire un terminale con normali diritti utente e passare al registro in cui si trova il toolchain scaricato. Rendeteli eseguibili con il comando indicato a destra.
    chmod +x e-50511-01-swww-009.sh
  • Avviare l’installazione del toolchain e seguire le istruzioni nel terminale. (comando v. a destra)

    ATTENZIONE: Per questa operazione è necessaria la password root!
    ./e-50511-01-swww-009.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.

    Infine sono necessarie ancora informazioni sul sistema finale. Qui ci sono differenze tra la pure.box 3 / Motherbox 3 e la pure.box 5.

    pure.box 3 e Motherbox 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