Manual

do

Maker

.

com

Debug da RPi Pico no VS Code com PlatformIO

Debug da RPi Pico no VS Code com PlatformIO

Em outra oportunidade, já há algum tempo, escrevi sobre debug da RPi Pico no VS Code usando o JLINK. O JLINK é um JTAG que foi artigo no Laboratório Maker.

Antes de continuar, vale lembrar que o processo de debug da RPI Pico no VS Code se dará através da conexão SWD entre A Raspberry Pi 400 e a Raspberry Pi Pico, como mostrado nesse vídeo.

Instalando PlatformIO no VS Code

Através do PlatformIO você terá suporte à API do Arduino no VS Code. Instalar é muito fácio, basta ir ao menu de plugins (na lateral esquerda da IDE do VS Code) e procurar por PlatformIO. Após instalar, será necessário reiniciar o VS Code, então aparecerá um alienígena no menu esquerdo.

O primeiro projeto criado para Raspberry Pi Pico consumirá algum tempo para iniciar porque ele instalará todas as dependências. Se quiser apreciar o uso do PlatformIO, veja esse vídeo para ter uma noção, é bem curto. No vídeo mostro como habilitar o JLINK para depurar, mas passo por alguns erros e mostro como solucioná-los. Isso você não vê em vídeo nenhum, só mostram o processo rodando liso!

Criando seu primeiro projeto

Não tem segredo, mas logo eu faço o vídeo do processo. É clicar no alien do menu vertical -> home -> Novo projeto. Escolha a placa Raspberry, aí vai aparecer a Pico entre elas. Selecione a Pico e então crie o projeto.

Abra o arquivo de projeto platformio.ini e adicione:

debug_tool = raspberrypi-swd

E o mesmo para upload_protocol. No final, o arquivo deve ficar assim:

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:pico]
platform        = raspberrypi
board           = pico
framework       = arduino
debug_tool      = raspberrypi-swd
upload_protocol = raspberrypi-swd

Hello world - O LED builtin

O LED está no pino 25, mas temos a macro LED_BUILTIN que aponta para o LED onboard. Nesse caso não precisamos decorar o pino. O blink pode ser idêntico ao do Arduino, já que agora podemos programar a RPi Pico no VS Code com a mesma API. Mas pra ficar mais legal:

#include <Arduino.h>
struct biting {
    int state :1;
} one_bit;

void setup() {
    pinMode(LED_BUILTIN,OUTPUT); //pin 25
    one_bit.state = 0;
}

void loop() {
  sleep_ms(400);
  one_bit.state += 1;
  digitalWrite(LED_BUILTIN, one_bit.state);
}

Esse é um código de blink que funciona em qualquer placa. Quer saber porque acontece o blink se só há incremento? Isso eu vou mostrar no vídeo, durante o debug.

Vídeo da RPi Pico no VS Code

"Caramba, mas o artigo foi só isso?" - você pode estar se perguntando. Dessa vez, sim, é só isso, porque chegou a hora de por a mão na massa e preciso deixar uma referência para vocês reproduzirem. Só que todas as explicações dos artigos anteriores sobre debug e algumas coisas mais você só verá no vídeo, então vá para o canal Dobitaobytebrasil no Youtube, inscreva-se e assista o vídeo!

Como é um vídeo de hands-on, não vai ter edição detalhada como os vídeos mais recentes, vai ser coisa bruta; quase uma live. Para referência, o título do vídeo será Debug com RPi Pico.

Agora vou editá-lo de forma básica e publico em seguida!

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.