Préambule

Cette procédure tient compte d'une configuration de développement standard pour Pico : Un PC sous Linux, une sonde de débogage Debug Probe.


Mon Linux fonctionnant sous UBUNTU 22.04.2, c'est donc cette version de Linux qui a été utilisée pour détailler cette procédure.

Installation du Kit de développement (SDK) Pico sur un PC sous Linux

Le kit de développement Pico se compose des éléments suivants :


 - Le SDK,
 - Des exemples,
 - L'outil Picotool,
 - L'outil Debugprobe,
 - Les logiciels de débogage OpenOCD et GDB,
 - L'éditeur intégré Visual Studio Code et ses extensions dédiées au Pico.

L'installation de tous ces éléments sur un PC sous Linux devra configurer 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,
 - Et quelques autres détails de finalisation

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 de votre disque d'installation, en général "/dev/sda2". Elle doit avoir une valeur d'au moins 2,5G.


Installation des paquets requis


Nous installons d'abord tous les paquets requis dont dépendent certains élémetns du SDK. Les commandes à exécuter sont :


sudo apt update
sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0-dev cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib pkg-config minicom gdb-multiarch


Installation du SDK


Les commandes à exécuter sont :


mkdir pico
cd pico
git clone https://github.com/raspberrypi/pico-sdk.git --branch master
cd pico-sdk
git pull
git submodule update --init


Installation des exemples


Les commandes à exécuter sont :


cd ~
cd pico
git clone https://github.com/raspberrypi/pico-examples.git --branch master


Installation des extras


Les commandes à exécuter sont :


cd ~
cd pico
git clone https://github.com/raspberrypi/pico-extras.git --branch master


Installation du playground


Les commandes à exécuter sont :


cd ~
cd pico
git clone https://github.com/raspberrypi/pico-playground.git --branch master


Installation d'openocd


Les commandes à exécuter sont :


cd ~
cd pico
git clone https://github.com/raspberrypi/openocd.git --branch rp2040 --depth=1
cd openocd
./bootstrap
./configure
make -j4
sudo make install


Configuration d'openocd


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


Installation de debugprobe


Les commandes à exécuter sont :


cd ~
cd pico
mkdir debugprobe
cd debugprobe
wget https://github.com/raspberrypi/picoprobe/releases/tag/picoprobe-cmsis-v1.02/debugprobe.elf


Installation de picotool


Les commandes à exécuter sont :


cd ~
cd pico
git clone https://github.com/raspberrypi/picotool.git --branch master
cd picotool
mkdir build
cd build
cmake ../
make


Installation de Visual Studio Code


Les commandes à exécuter sont :


cd ~
sudo apt update
sudo apt install code
code --install-extension marus25.cortex-debug
code --install-extension ms-vscode.cmake-tools
code --install-extension ms-vscode.cpptools


Installation de Pico Project Generator


Ce logiciel étant développé sous Python, il faut tout d'abord installaller ou mettre à jour Python. Les commandes à exécuter sont les suivantes :


cd ~
sudo apt install python3
sudo apt install python3-pip
sudo pip3 install --upgrade setuptools
reboot


Après redémarrage, exécuter les commandes suivantes pour finaliser l'installation de Python :


sudo apt-get install python3-tk
python3 -m tkinter


On peut alors installer Pico Project Generator comme suit :


cd pico
git clone https://github.com/raspberrypi/pico-project-generator.git --branch master


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 :


cd pico-code-generator
sudo nano pico_project.sh


Dans ce fichier, ajoutez les 2 lignes suivantes. ATTENTION : les caractères "???" doivent être remplacés par le chemin de votre répertoire. Généralement votre nom d'utilisateur :


export SDK_PATH=/home/???/pico/pico-sdk
/home/???/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

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.


ATTENTION : Dans tout ce qui suit, les caractères "???" doivent être remplacés par le chemin de votre répertoire. Généralement votre nom d'utilisateur.


Dans un terminal, éditez le fichier ".bashrc" via la commande suivante :


sudo nano .bashrc


En fin de fichier ajoutez les lignes suivantes :


export PICO_SDK_PATH=/home/???/pico/pico-sdk
export PICO_EXAMPLES_PATH=/home/???pico/pico-examples
export PICO_EXTRAS_PATH=/home/???/pico/pico-extras
export PICO_PLAYGROUND_PATH=/home/???/pico/pico-playground
export PATH="/home/???/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


En fin de fichier ajoutez les lignes suivantes :


export PICO_SDK_PATH=/home/???/pico/pico-sdk
export PICO_EXAMPLES_PATH=/home/???pico/pico-examples
export PICO_EXTRAS_PATH=/home/???/pico/pico-extras
export PICO_PLAYGROUND_PATH=/home/???/pico/pico-playground


Editez le fichier "/etc/environment" via la commande suivante :


sudo nano /etc/environment


Copiez les 4 lignes sélectionnées dans le fichier ".bashrc" en fin de ce fichier en supprimant la commande "export comme suit :


PICO_SDK_PATH=/home/???/pico/pico-sdk
PICO_EXAMPLES_PATH=/home/???/pico/pico-examples
PICO_EXTRAS_PATH=/home/???/pico/pico-extras
PICO_PLAYGROUND_PATH=/home/???/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/???/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

Raccourcis

Quelques raccourcis sur le bureau pour se simplifier la vie. Nous allons ajouter des raccourcis sur le bureau pour : Geany, Visual Studio Code et Pico Project Generator.


ATTENTION : dans tout ce qui suit, les caractères "???" doivent être remplacés par le chemin de votre répertoire. Généralement votre nom d'utilisateur.


Tout d'abord on a besoin d'un logo Raspberry... Dans un terminal exécutez les commandes suivantes :


cd ~
cd Images
wget https://logowik.com/content/uploads/images/346_raspberry_pi_logo.jpg
mv 346_raspberry_pi_logo.jpg pi.jpg


Geany


Dans un terminal exécutez la commande suivante :


sudo cp /usr/share/applications/geany.desktop /home/???/Bureau/geany.desktop


Visual Studio Code


Dans un terminal exécutez la commande suivante :


sudo cp /usr/share/applications/code.desktop /home/???/Bureau/code.desktop


Pico Project Generator


Dans un terminal exécutez la commande suivante :


sudo nano /home/???/Bureau/picoprojectgenerator.desktop


Insérez les lignes suivantes dans le fichier :


[Desktop Entry]]
Version=1.0
Name=Pico Project Generator
Icon=/home/???/Images/pi.jpg
Exec=bash /home/???/pico/pico-project-generator/pico_project.sh
Terminal=true
Type=Application


Sauvegardez le fichier par "Ctrl+O et fermez nano par "Ctrl+X".