Installation du Kit de développement (SDK) Pico sur un Raspberry Pi
Le kit de développement Pico se compose des éléments suivants :
- Le SDK,
- Des exemples,
- L'outil Picotool,
- L'outil Picoprobe,
- L'outil Debugprobe,
- Le logiciel de débogage OpenOCD,
- L'éditeur intégré Visual Studio Code et ses extensions dédiées au Pico.
L'installation de tous ces éléments sur un Raspberry Pi est simplifiée par un script dediée. En plus d'installer ces éléments, ce script configure les éléments suivants :
- Création d'un répertoire Pico dans le répertoire home de l'utilisateur,
- Définition des variables système : PICO_SDK_PATH, PICO_EXAMPLES_PATH, PICO_EXTRAS_PATH, et PICO_PLAYGROUND_PATH,
- Configuration du port série du Raspberry Pi pour une utilisation avec le Pico.
Procédure
Vérification de l'espace disque disponible
Le kit de développement du Pico installe environ 2,5GO sur le disque. Il est bon de vérifier que vous disposez d'assez d'espace pour cette installation. Pour cela, ouvrez un terminal et exécutez la commande suivante :
df -h
Vérifiez la valeur d'espace disponible de la ligne "/dev/root". Elle doit avoir une valeur d'au moins 2,5G.
Récupération du script d'installation
Dans un terminal, exécutez les commandes suivantes :
wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
chmod +x pico_setup.sh
Ces commandes récupèrent le fichier "pico_setup.sh", puis en font un fichier exécutable.
Installation
Dans un terminal, exécutez le fichier "pico_setup.sh" via la commande suivante :
./pico_setup.sh
Enfin, relancez le Raspberry Pi via la commande :
reboot
Compléments
Debugprobe
Si vous utilisez l'outil Debug Probe, il est bon de disposer de son programme afin, si necéssaire, de le "flasher". Dans un terminal, exécutez les commandes suivantes :
cd pico
mkdir debugprobe
cd debugprobe
wget https://github.com/raspberrypi/picoprobe/releases/download/picoprobe-cmsis-v1.02/debugprobe.elf
Le nouveau répertoire "debugprobe" contiendra un seul fichier nommé "debugprobe.elf". Ce fichier est le binaire exécutable à flasher sur la mémoire de l'outil Debug Probe.
Pico Project Generator
Ce petit utilitaire permet de créer tous les fichiers requis pour un novueau projet. Pour l'installer, dans un terminal, exécutez les commandes suivantes :
cd pico
git clone https://github.com/raspberrypi/pico-project-generator.git --branch master
Pour vérifier son fonctionnement :
cd pico-code-generator
./pico_project.py --gui
Pour simplifier son utilisation (et par la suite créer un raccourci sur le bureau), créez un fichier nommé "pico_project.sh" via la commande suivante :
sudo nano pico_project.sh
Dans ce fichier, ajoutez les 2 lignes suivantes :
export SDK_PATH=/home/pi/pico/pico-sdk
/home/pi/pico/pico-project-generator/pico-project.py --gui
Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X". Dans un terminal, exécutez la commande suivante :
chmod u+x pico_project.sh
Configuration d'openocd
Sur un Raspberry Pi (comme sur un PC Linux), openocd doit être utilisé en tant que super utilisateur, cela oblige à faire précéder tout appel à openocd du préfixe "sudo". En soit, ce n'est pas un problème lorsque l'on utilise openocd depuis un terminal. Cela devient un réel problème avec Visual Studio Code. Il est déconseillé de lancer Visual Studio Code en mode super utilisateur, donc ce logiciel ne peut pas lancer openocd dans ce mode. Il faut donc permettre à openocd à se lancer en mode d'utilisateur lambda. Pour cela il faut créer un groupe avec les droits permettant cela et nous ajouter à ce groupe. Il faut également définir les règles d'accès au périphérique openocd. Une fois tout cela mis en place, on pourra lancer openocd sans le préfixe "sudo" et Visual Studio Code pourra utiliser openocd pour charger un programme sur le Pico et le déboguer.
Il faut d'abord créer un fichier nommé "98-openocd.rules" dans le répertoire "/etc/udev/rules.d" Dans un terminal, créez et éditez ce fichier grâce à la commande suivante :
sudo nano /etc/udev/rules.d/98-openocd.rules
Copiez les lignes suivantes dans ce fichier via l'éditeur nano :
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
ATTRS{product}=="*CMSIS-DAP*", MODE="664" GROUP="plugdev"
LABEL="openocd_rules_end"
Sauvegardez le fichier part Ctrl+O puis quittez nano par Ctrl+X.
Dans le terminal, exécutez les commandes suivantes :
sudo groupadd plugdev
sudo gpasswd -a votre_nom_d_utilisateur plugdev
sudo udevadm control --reload
sudo reboot
Simplifions nous la vie
Faisons en sorte que tout le monde trouve son chemin... Afin que les variables PICO_SDK_PATH, PICO_EXAMPLES_PATH, PICO_EXTRAS_PATH, et PICO_PLAYGROUND_PATH soient visibles non seulement dans un terminal, mais également dans toutes les applications du système, il est bon d'ajouter les modifications suivantes. Dans un terminal, éditez le fichier ".bashrc" via la commande suivante :
sudo nano .bashrc
En fin de fichier vous devriez trouver les lignes suivantes :
export PICO_SDK_PATH=/home/pi/pico/pico-sdk
export PICO_EXAMPLES_PATH=/home/pi/pico/pico-examples
export PICO_EXTRAS_PATH=/home/pi/pico/pico-extras
export PICO_PLAYGROUND_PATH=/home/pi/pico/pico-playground
Sélectionnez ces lignes et copiez les dans le presse papier (Clic droit et commande Copier). Ajoutez la ligne suivante :
export PATH="/home/pi/pico/picotool/build:$PATH"
Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X".
Editez le fichier ".profile" via la commande suivante :
sudo nano .profile
Copiez les 4 lignes sélectionnées dans le fichier ".bashrc" en fin de ce fichier. Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X".
Editez le fichier "/etc/environment" via la commande suivante :
sudo nano /etc/environment
Copiez les 4 lignes sélecctionnées dans le fichier ".bashrc" en fin de ce fichier en supprimant la commande "export comme suit :
PICO_SDK_PATH=/home/pi/pico/pico-sdk
PICO_EXAMPLES_PATH=/home/pi/pico/pico-examples
PICO_EXTRAS_PATH=/home/pi/pico/pico-extras
PICO_PLAYGROUND_PATH=/home/pi/pico/pico-playground
Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X"".
Finalement, il faut rendre le programme picotool exécutable. Dans un terminal exécutez la commande suivante :
chmod u+x /home/pi/pico/picotool/build/picotool
On s'organise...
Afin de ne pas en avoir partout, il est bon de se créer un répertoire ou on définira nos projets. Ici on le nomme "pico-projects". Dans un terminal exécutez les commandes suivantes :
cd ~
cd pico
mkdir pico-projects
Vérification
Si l'installation s'est bien déroulée, votre répertoire "home" doit contenir un sous répertoire nommé "pico". Ce dernier contient les répertoires suivants :
- debugprobe
- openocd
- pico-examples
- pico-extras
- pico-playground
- pico-project-generator
- pico-projects
- picoprobe
- pico-sdk
- picotool
Le groupe "Programmation" du menu princoipal du Raspberry doit également contenir la commande "Visual Studio Code".
Raccourcis
Quelques raccourcis sur le bureau pour se simplifier la vie.Tout d'abord on a besoin d'un logo Raspberry... Dans un terminal exécutez les commandes suivantes :
cd Images
wget https://logowik.com/content/uploads/images/346_raspberry_pi_logo.jpg
mv 346_raspberry_pi_logo.jpg pi.jpg
Nous allons ajouter des raccourcis sur le bureau pour : Geany, Visual Studio Code et Pico Project Generator.
Geany
Dans un terminal exécutez la commande suivante :
sudo cp /usr/share/raspi-ui-overrides/applications/geany.desktop /home/pi/Desktop/geany.desktop
Visual Studio Code
Dans un terminal exécutez la commande suivante :
sudo cp /usr/share/applications/code.desktop /home/pi/Desktop/code.desktop
Pico Project Generator
Dans un terminal exécutez la commande suivante :
sudo nano /home/pi/Desktop/picoprojectgenerator.desktop
Insérez les lignes suivantes dans le fichier :
[Desktop Entry]]
Version=1.0
Name=Pico Project Generator
Icon=/home/pi/Images/pi.jpg
Exec=bash /home/pi/pico/pico-project-generator/pico_project.sh
Terminal=true
Type=Application
Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X".