La sonde de débogage Raspberry Pi est un petit boîtier mesurant 37 mm x 31 mm x 10 mm  doté d'un port UART USB et d'une interface SWD (Serial Wire Debug), pour le débogage des applications RP2040. Les deux interfaces utilisent le minuscule connecteur de débogage Raspberry Pi à 3 broches. Une connexion est marquée 'U', l'autre 'D'. Le pod est logé dans un boîtier en plastique translucide à deux coques qui s'ouvre facilement au cas où vous auriez besoin d'accéder à l'intérieur pour le reprogrammer par exemple.

Une solution matérielle de débogage complète pour le RP2040

La sonde de débogage Raspberry Pi est livrée avec quatre câbles : un câble USB couleur framboise (1 m) et trois câbles de débogage de 16 cm de long chacun environ. Les câbles de débogage ont tous un connecteur de débogage de type « JST » à une extrémité. À l'autre extrémité, nous trouvons soit un autre connecteur « JST » , soit trois fils de pontage mâles ou femelles pour plaque d'essai. L'ensemble de ces câbles permet de connecter facilement le pod au processeur cible. Notez que j'ai mis des guillemets autour de JST car c'est le nom d'un fabricant de connecteurs ; il ne désigne pas un type de connecteur en  particulier.

Si aucun des câbles fournis ne convient à votre application pour une raison quelconque, sachez que vous pouvez également souder des fils au bas de la carte de circuit imprimé de la sonde de débogage, les pastilles de soudure sont prévues pour cela.

Utilisation de la sonde de débogage Raspberry Pi 

Vous avez besoin d'OpenOCD et de GDB pour utiliser la sonde de débogage. Les instructions pour installer ces outils sur Linux, Raspberry Pi OS, macOS et Windows sont disponibles sur le site web de Raspberry Pi. En ce qui me concerne, j'ai suivi la voie la plus simple qui consiste à utiliser l'installateur Windows (Raspberry Pi Pico SDK v1.5.0) qui comprend tout ce dont vous avez besoin. En fait, l'installation manuelle de GDB sous Windows n'est de toute façon pas recommandée.
 
raspberry pi debug probe pod.jpg
Plus grand que nature : la sonde de débogage mesure seulement 37 x 31 x 10 mm.
Après avoir installé le Pico SDK, la connexion de la sonde de débogage à mon ordinateur a entraîné la configuration d'un dispositif CMSIS-DAP, puis j'ai trouvé un nouveau périphérique série USB en tant que COM11.

Malheureusement, c'est là que s'arrête la documentation Windows en ligne. Toutefois, un fichier ReadMe a été ouvert par le programme d'installation du SDK, qui contient les instructions pour démarrer sous Windows. Les instructions font référence à la Picoprobe, qui est un Raspberry Pi Pico programmé comme un débogueur. Comme il s'agit de la même chose que la sonde de débogage, ces instructions fonctionnent parfaitement. Si jamais vous fermez ce fichier, intentionnellement ou accidentellement, il se trouve à l'adresse c:\Program Files\Raspberry Pi\Pico SDK v1.5.0\.

Plug and Play

J'ai connecté une carte Pico H à la sonde de débogage, exactement comme indiqué sur la page Web de la sonde de débogage. Puis, dans Visual Code, j'ai compilé l'exemple hello_uart et j'ai appuyé sur le bouton Run and Debug (dans la barre de menu à gauche), suivi d'un clic sur la petite icône « play » en haut de la fenêtre de débogage (vous pouvez aussi appuyer sur F5). Le code source du programme s'ouvre, et vous êtes prêt à commencer. Utilisez F10 et F11 pour parcourir le code. Rien à configurer, c'est comme ça que j'aime mes débogueurs.

 
visual code debugging.png
Parcourir le code source d'une application RP2040 simple avec la sonde de débogage.

Port-série intégré

Dans le volet inférieur de Visual Code, vous pouvez ouvrir le moniteur série pour visualiser la sortie de l'exemple hello_uart. Cela fonctionne parfaitement bien grâce au port UART de la sonde de débogage. Avec ses deux LEDs qui clignotent pour les données entrantes et sortantes, ce port UART est la meilleure caractéristique selon moi. Je suis sûr que j'utiliserai la sonde principalement comme un convertisseur série, puisque mon approche du débogage a tendance à passer par un port série.

Conclusion

Grosso modo, la sonde Debug Probe de Raspberry Pi est un Pico remanié en Picoprobe. Cela peut sembler un peu négatif, mais c'est en fait une bonne nouvelle car cela signifie que la Debug Probe fonctionne dans les mêmes situations que la Picoprobe. La Debug Probe est tout simplement un dispositif plus plaisant.

Les petites dimensions du pod le rendent pratique à utiliser, car il n'est pas gênant et ne met pas la cible en tension. Par contre, il est si léger qu'il ne reste pas en place. De plus, les connecteurs « JST » sont un peu trop enfoncés dans le pod, ce qui oblige à tirer sur les fils pour déconnecter les câbles au lieu de saisir le connecteur.

Certaines personnes trouvent le prix de la sonde de débogage trop élevé, mais je ne suis pas d'accord. Pour environ 12 €, vous obtenez un petit outil qui vous évite de devoir chercher comment transformer une autre carte RP2040 en sonde de débogage, en supposant que vous ayez une carte disponible pour cela. Comme le débogage est déjà quelque chose que vous ne voulez pas faire de toute façon, pourquoi le rendre plus compliqué que nécessaire ?

Traduction : Laurent RAUBER