Board arduino su ArchLinux 0.7.1

Preparazione della macchina

Dopo aver acquistato un Arduino (http://www.arduino.cc/), saranno necessari una serie di software, al fine di programmarlo.

Le dipendenze fondamentali sono:

* binutils-avr [ unsupported, lo trovate su http://aur.archlinux.org ]
* gcc-avr [ unsupported, lo trovate su http://aur.archlinux.org ]
* avr-libc [ unsupported, lo trovate su http://aur.archlinux.org ]
* uisp [ unsupported, lo trovate su http://aur.archlinux.org ]
* jikes [ “pacman -S jikes” (e relative dipendenze) ]
* subversion [ “pacman -S subversion” (e relative dipendenze ]

L’installazione di software da file PKGBUILD è banale:
si crea una cartella dedicata alla compilazione (tanto per stare puliti).

$ mkdir makedir && cd makedir

Vi si scarica dentro il tarball con tutti i files necessari

$ wget http://aur.archlinux.org/packages/binutils-avr/binutils-avr.tar.gz

Si estrae quanto scaricato:

$ tar -xzf binutils-avr.tar.gz && cd binutils-avr

Si lancia la compilazione:

$ makepkg

Attenzione, i pacchetti vanno compilati rispettando le dipendenze, quindi nell’ordine in cui sono scritti sopra: prima “binutils-avr”, poi “gcc-avr”, poi “avr-libc”, infine “uisp”. Le dipendenze le potete trovare aprendo con un editor di testo il file PKGBUILD, dove, alla voce “dependencies”, trovate l’elenco dei pacchetti necessari.

Nota: al fine di poter compilare correttamente gcc-avr, sarà necessario dare prima il comando:

$ export PATH=$PATH:/opt/avr/bin/

e dopo essersi autenticati come ‘root’

# rm /opt/avr/lib/libiberty.a

Compiliamo l’IDE

Una volta installati questi software, effettuando le operazioni di qui sopra per ognuno di loro, bisogna scaricare il software utilizzato per programmare il nostro hardware.

Alla pagina https://developer.berlios.de/svn/?group_id=3590 si scopre l’unica cosa da fare è la seguente:

$ svn checkout svn://svn.berlios.de/arduino/trunk

A questo punto, terminata l’esecuzione del comando, ci troveremo una cartella trunk, all’interno della quale si trova tutto il software.

Passiamo alla compilazione, quindi, di quanto scaricato. Dal forum di Arduino (per la precisione all’indirizzo http://arduino.berlios.de/cgi-bin/yabb/YaBB.cgi?board=swtrouble;action=display;num=1129025529″ ), si scopre che ci sono un paio di cosucce da fare:

$ export CLASSPATH=$CLASSPATH:/opt/java/jre/bin/:/opt/java/jre/lib/rt.jar

e

$ export DIRAVR=/opt/avr

Dopodichè, ci spostiamo nella cartella dove troveremo il sorgente:

$ cd trunk/build/linux/

E diamo avvio alla compilazione:

$ ./make.sh

Dopo una serie di permission denied (su cosa e perchè, lo sa solo make.sh), ci verrà chiesto se vogliamo rinominare tutta una serie di files. Rispondiamo “y” a tutte, e alla fine partirà la compilazione, per terminare con un “Done”.

Per poter compilare i programmi che scriveremo, avremo bisogno di un altro passo. Al momento, la IDE di Arduino (quella che abbiamo compilato), cerca avr-gcc nella cartella work/tools/avr/bin. Dopo esserci posizionati nella cartella che contiene make.sh e run.sh, faremo quindi:

$ mkdir -p work/tools/avr/ && cd work/tools/avr/ && ln -s /opt/avr/bin bin

A questo punto, lanciamo semplicemente quanto compilato, con un banale

$ ./run.sh

Apparirà la nostra tanto attesa IDE.

Configuriamo l’ambiente

Per poter esportare i nostri programmi sull’hardware, sarà necessario eseguire due operazioni:

* 1) Per chi usa un kernel linux 2.6.*, compilare e caricare il modulo ftdi_sio (experimental)
* 2) Modificare il file ~/.arduino/preferences.txt in modo da indicare la corretta device sulla quale trasferire. Di default è “COM1”, e quella che viene solitamente utilizzata se usate un Arduino USB, è /dev/tts/USB0.

Ora tutto dovrebbe funzionare correttamente. Happy Hacking 😉

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...