quinta-feira, fevereiro 23, 2023

Raspberry Pi Debug Probe

Em um lançamento inesperado, a Raspberry Pi Foundation anunciou o "Raspberry Pi Debug Probe", um interessante acessório para a Raspberry Pi Pico que pode ser usado também com outras placas.

A plaquinha do Debug Probe

O Debug Probe nada mais é que uma versão comercial do "picoprobe" descrito no documento oficial "Getting Started with Raspberry Pi Pico". Como muitos microcontroladores ARM, o RP2040 possui recursos de depuração acessíveis através de uma porta SWD (Serial Wire Debug). A porta SWD requer três conexões: terra, dado (SWIO) e clock (SWCLK). A questão é controlar os sinais SWIO e SWCLK conforme o protocolo.

O "picoprobe" é um Pi Pico rodando um firmware especial. Com este firmware comandos recebidos via USB são convertidos em sinalizações na porta SWD. É trivial carregar este firmware em um Pi Pico e fazer as conexões adequadas com uma segunda Pi Pico (onde rodará a aplicação que será debugada). Configurar o depurador OpenOCD e o seu uso de dentro do Visual Code é um pouco mais trabalhoso, mas basta seguir as instruções na documentação.

Eu fiz uma versão do picoprobe usando uma placa RP2040 Zero, cabinhos de protoboard e coloquei em uma caixinha plástica padrão. Não ficou profissional mas funcionou bem.

O meu "picoprobe"

Um recurso adicional do picoprobe é implementar também um conversor serial USB. Isto permite (por exemplo) interagir uma das UARTs do Pi Pico sendo depurado a partir de uma aplicação rodando no mesmo PC que o depurador.

O Debug Probe é bem mais refinado que a minha montagem. Ao invés de usar uma Pi Pico, ele tem uma placa dedicada (mas usando o mesmo RP2040). A placa tem conectores para conectar as portas SWD e serial. Para completar, a placa vem numa bela caixinha transparente e são fornecidos três cabinhos para fazer as conexões entre o Debug Probe e a placa onde vai rodar a aplicação a ser depurada.

Os que vem no Debug Probe

Embora o uso óbvio seja com o Pi Pico, a função de "ponte SWD" pode ser usada com qualquer microcontrolador que disponha de porta SWD. A função de conversor serial USB é ainda mais genérica, podendo ser usada com qualquer porta serial assíncrona que trabalhe a 3,3V.

Com um preço de lista de US$12, o Debug Probe é bem competitivo tanto com outras pontes USB como com conversores serial USB (os famosos "cabos FTDI").


Nenhum comentário: