Les cartes Raspberry Pi Pico se dotent d’une sonde de débogage… fondée sur une puce Pico

Raspberry Pi Pico Debogage

Forte du constat que, depuis le lancement des cartes Raspberry Pi Pico et du microcontrôleur RP2040 en janvier 2021, les développeurs utilisaient ce processeur pour déboguer les programmes exécutés sur une autre puce, la fondation Raspberry Pi a décidé de s’inspirer de cette tendance pour proposer une sonde de débogage Raspberry Pi fondée sur ce processeur RP2040.

La sonde se présente sous la forme d’une carte de 37 x 31 mm) qui est en fait un adaptateur série USB architecturé autour du microcontrôleur Raspberry Pi RP2040. Elle est pensée pour déboguer les cartes Raspberry Pi Pico ainsi que les cartes tierces dotées de ce même circuit voire, au-delà, toutes les cartes à cœur Arm à travers les interfaces SWD (Serial Wire Debug) et/ou UART (Universal Asynchronous Receiver Transmitter).

Selon la fondation Raspberry Pi, le principal avantage par rapport à un adaptateur USB-série typique est justement la présence d'un pont SWD utilisé pour le développement et le débogage de code sans recours à un système d'exploitation, et ce au travers des outils tels que OpenOCD (*) avec le débogeur open source GDB (GNU Debug).

Côté spécifications, la sonde de débogage Raspberry Pi intègre un microcontrôleur Raspberry Pi RP2040 à double cœur Cortex M0+ cadencé à 133 MHz et flanqué d’une mémoire SRam de 264 Ko, une mémoire flash SPI de 2 Mo complétant la partie stockage.

Quant aux interfaces de débogage, on trouve un connecteur à 3 broches SWD conforme à la spécification du connecteur de débogage Raspberry Pi et compatible avec le protocole standardisé CMSIS-DAP (Cortex Microcontroller Software Interface Standard – Debug Access Port). On y trouve aussi un connecteur 3 broches série UART et un port micro-USB pour la connexion à l'hôte.

La sonde de débogage est conditionnée dans un boîtier en pastique avec des câbles de débogage et un câble micro USB.

A noter que cette solution ne révolutionne pas ce qui existait déjà, puisque l’on peut mettre en œuvre une carte Raspberry Pi Pico ou une autre carte dotée du microcontrôleur RP2040 comme un pont USB vers les interfaces SWD/UART à l'aide du micrologiciel PicoProbe. Mais elle facilite grandement la vie des développeurs car le câblage est beaucoup plus facile et aucune soudure n'est nécessaire.

(*) OpenOCD est un outil logiciel libre utilisé pour le débogage sur puce (dont les processeurs Arm), la programmation système (avec le support du flashage) et les tests de type boundary-scan.