Piero V.

PIC su Linux

Per l’elettronica digitale una cosa importante è il PIC, cioè un microcontrollore.

Su Windows potete trovare un sacco di programmi per scrivere i file hex, mentre su Linux non ce ne sono tantissimi.

Recentemente ho trovato questo: pigprog.

Supporta diversi pic12, pic16 e pic18 e come programmatore, lo vuole di tipo seriale, come il classico Ludipipo che costa veramente pochissimo.

Su Debian potete installarlo con apt-get install picprog, altrimenti lo dovete compilare.

Per progammare digitate sul terminale (tenendo conto che dovete avere i privilegi per scrivere in seriale):

picprog --burn --input file.hex --pic /dev/ttyS0

–burn per scrivere
–input per dire il file hex da scrivere
–pic l’indirizzo del programmatore

Questo è un comando standard, per approfondire vi rimando al suo sito web che ho linkato sopra.

Se fate tanti pic allora forse vi conviene fare l’openprog, programmatore usb per linux e windows ma ce ne vuole comunque uno già pronto perché necessita di un pic 18f450.

Se no sempre con la USB c’è usbpicprog che ha una GUI wxWidgets anche per Linux, oltre che per Windows e Mac.

Installare devkitPPC su Linux

Non riuscivo a installare il devkitPPC che serve a fare gli homebrew ma non so perché così penso che questa mini guida possa tornare utile.

1. Posizionatevi dove volete veramente installare il devkit
2. Digitare in ordine:
    wget -q -O- http://sourceforge.net/projects/devkitpro/files/devkitPPC/devkitPPC_r21-i686-linux.tar.bz2/download | tar -xjvf -
    mkdir libogc
    wget -q -O- http://sourceforge.net/projects/devkitpro/files/libogc/libogc-1.8.3.tar.bz2/download | tar -C libogc/ -xjvf -
    wget -q -O- http://sourceforge.net/projects/devkitpro/files/libfat/libfat-ogc-1.0.7.tar.bz2/download | tar -xjvf - -C libogc/
    mkdir -p examples/wii examples/gamecube
    wget -q -O- http://sourceforge.net/projects/devkitpro/files/examples/wii/wii-examples-20091124.tar.bz2/download | tar -C examples/wii -xjvf -
    wget -q -O- http://sourceforge.net/projects/devkitpro/files/examples/gamecube/gamecube-examples-20091212.tar.bz2/download | tar -C examples/gamecube -xjvf -
3. Ora scrivete (se usate questo toolkit spesso però aggiungetelo al file .bashrc!):
    export DEVKITPRO=/opt/devkitpro # Dove avete installato insomma...
    export DEVKITPPC=$DEVKITPRO/devkitPPC

Non si sa perché ma a me non andava.

Forse mi dimenticavo di mettere libogc, comunque ora funziona…

Convertire da shell da a basi numeriche diverse

Per convertire da shell per esempio binario a esadecimale etc basta usare il comando bc.

echo "ibase=base_di_partenza; obase=base_di_arrivo; numero" | bc

Potrete convertire da qualsiasi base.

Arch Linux

Ieri ho provato Arch Linux nella mia partizione di prova.

Devo dire che sotto certi aspetti è buono, sotto altri no.

Un aspetto buono è la sua leggerezza e la sua velocità (soprattutto al boot).

Però mi sono trovato un po’ male perché software che volevo provare era da compilare dall’AUR, cioè una raccolta di software degli utenti che ha anche uno script per la compilazione automatica, ma ormai sono troppo abituato ai repo di debian.

Di sicuro dovrei riprovarla ma l’ho incasinata un bel po’…

Se però dovessi scegliere una distro che deve essere leggera da usare in VM allora sceglierei proprio quella…

Eseguire decentemente un chroot

Un sistema operativo gnu linux monta dei falsi filesystem come proc e ha in /dev tutti i file per i devices.

Ecco come eseguire un chroot su /newroot fatto bene:

# mount -o bind /dev /newroot/dev
# mount -t proc none /newroot/proc
# mount -o bind /sys /newroot/sys
# chroot /newroot

Attenzione però a condividere i file device.