Spesso a livello didattico ci si trova a dover imparare [o spiegare] i microcontrollori PIC della Microchip e nelle scuole non si ha a disposizione un simulatore. Esistono simulatori commerciali molto costosi che non sono certo alla portata dei nostri studenti o delle nostre scuole.
E' possibile fare delle ricerche in rete Internet e si trova PICSimLab che permette di simulare il comportamento dei principali PIC che vogliamo spiegare e programmare, incluso sensori e semplici attuatori. PICSimLab è un progetto di free software sviluppato dal prof. Luis Claudio Gambôa Lopes, in Brasile, che ringrazio infinitamente per il suo lavoro e lo incoraggio a continuare con nuove versioni.
Insomma tutto quello che è necessario per partire anche quando non si ha a disposizione il "programmatore" PICkit3 o PICkit4 che ci permetterebbero di realizzare e provare realmente i nostri dispositivi.
Nella macchina virtuale Linux Debian 11 precedentemente installata proviamo ad installarlo seguendo le istruzioni
git clone --depth=1 https://github.com/lcgamboa/picsimlab.git
cd picsimlab
./picsimlab_build_all_and_install.sh
e seguendole passo passo
fausto@debian:~$ git clone --depth=1 https://github.com/lcgamboa/picsimlab.git
Clone in 'picsimlab' in corso...
remote: Enumerating objects: 650, done.
remote: Counting objects: 100% (650/650), done.
remote: Compressing objects: 100% (553/553), done.
remote: Total 650 (delta 312), reused 251 (delta 81), pack-reused 0
Ricezione degli oggetti: 100% (650/650), 1.83 MiB | 778.00 KiB/s, fatto.
Risoluzione dei delta: 100% (312/312), fatto.
Il processo di Build and Installation richiamato dallo script picsimlab_build_all_and_install.sh è piuttosto lungo. Lasciatelo far lavorare.
Alla fine, dopo meno di 10 minuti, dovreste avere il sistema Linux Debian 11 aggiornato e PICSimLab pronto per essere utilizzato.
Se si vogliono usare anche le "board sperimentali" è meglio
./picsimlab_build_all_and_install.sh exp
o ricompilate con
make -j4 exp
L'uso della versione sperimentale permette la simulazione delle board Xpress e Curiosity.
Occorre poi permettere la comunicazione seriale tra la board emulata e il computer. Come scritto qui, si scarica tty0tyy.
austo@debian:~$ cd Scaricati/
fausto@debian:~/Scaricati$ ls
tty0tty-master.zip
fausto@debian:~/Scaricati$ unzip tty0tty-master.zip
Si entra nella cartella "module"
fausto@debian:~/Scaricati/tty0tty-master$ cd module/
e si eseguono i seguenti comandi
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install gcc make linux-headers-`uname -r`
sudo ./dkms-install.sh
sudo modprobe tty0tty
sudo usermod -a -G dialout your_user_name
nel mio caso
sudo usermod -a -G dialout fausto
In questo modo si è abilitata la comunicazione seriale. E' prima necessario il reboot della macchina virtuale.
A questo punto su Linux Debian 11 si puo' avviare CuteCom (anche dal menu della board di PICSimLab, menu Tools / Serial Terminal) ed impostare su CuteCom la connessione su /dev/tnt3 e lasciare alla board la connessione su /dev/tnt2
Se invece si è su Windows seguire le istruzioni ufficiali.