
Núcleo Arduino para Raspberry Pi Pico, para todas as placas RP2040 e RP2350.
Núcleo Arduino para Raspberry Pi Pico, para todas as placas RP2040 e RP2350
Este é um porte do Arduino para os processadores RP2040 (processador Raspberry Pi Pico) e RP2350 (processador Raspberry Pi Pico 2). Ele usa o SDK bare Raspberry Pi Pico e um toolchain personalizado GCC 14.3/Newlib 4.5 e suporta núcleos ARM e RISC-V.
Consulte https://arduino-pico.readthedocs.io/en/latest/ juntamente com os exemplos para obter informações de uso mais detalhadas.
Leia o Guia de Contribuição para obter mais informações sobre como enviar pull requests e portar bibliotecas ou sketches para este núcleo.
As máquinas de estado PIO (SMs) do RP2040 são usadas para gerar sem jitter:
Não use a versão da Windows Store do aplicativo Arduino real, pois ela tem problemas para detectar placas Pico conectadas. Use o download "Windows ZIP" ou o executável (EXE) "Windows" direto de https://arduino.cc e permita que ele instale quaisquer drivers de dispositivo que sugerir. Caso contrário, a placa Pico pode não ser detectada. Além disso, se estiver testando o beta 2.0 do Arduino, instale antes a versão 1.8 para garantir que os drivers de dispositivo necessários estejam presentes. (Consulte #20 para mais detalhes.)
Instalar o Arduino usando flatpak (frequentemente usado pelas "Lojas de Aplicativos" em várias distribuições Linux) significa que ele terá acesso restrito ao host. Isso pode fazer com que os uploads falhem com mensagens de erro como as seguintes:
Scanning for RP2040 devices
...
No drive to deploy.
Se você encontrar isso, será necessário instalar o Arduino de outra maneira ou substituir o recurso de sandboxing do flatpak usando o seguinte comando e reiniciar o Arduino.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Abra a IDE Arduino e vá em File->Preferences.
No diálogo que aparecer, insira a seguinte URL no campo "Additional Boards Manager URLs":
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Clique em OK para fechar o diálogo.
Vá em Tools->Boards->Board Manager na IDE
Digite "pico" na caixa de pesquisa e selecione "Add":

Usuários Windows: Antes de instalar via git no Windows, leia e siga as instruções em
este link.
Se os caminhos longos do Win32 não estiverem habilitados e o git não estiver configurado para usá-los, podem
ocorrer erros ao tentar clonar os submódulos.
Para instalar via GIT (para versões mais recentes) no Linux ou Mac:
mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init --recursive
cd tools
python3 ./get.py
No Windows, você precisa ter o Python já instalado e clonar via git em um caminho diferente:
mkdir %USERPROFILE%\Documents\Arduino\hardware\pico
git clone https://github.com/earlephilhower/arduino-pico.git %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
cd %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
git submodule update --init --recursive
cd tools
python .\get.py
Para enviar seu primeiro sketch, você precisará manter o botão BOOTSEL pressionado enquanto conecta o Pico ao computador. Em seguida, clique no botão de upload e o sketch deverá ser transferido e começar a executar.
Após o primeiro upload, isso não deve ser necessário, pois o núcleo arduino-pico tem suporte a reset automático.
Selecione a porta serial apropriada no menu Arduino Tools->Port->Serial Port uma vez (essa configuração persistirá e não precisará ser
alterada para múltiplos uploads). Essa seleção permite que a ferramenta de reset automático identifique o dispositivo correto para resetar.
Em seguida, clique no botão de upload e seu sketch deverá ser enviado e executado.
Em alguns casos, o Pico pode travar e sua porta USB não responderá à solicitação de reset automático. Se isso acontecer, basta seguir o procedimento inicial de manter o botão BOOTSEL pressionado enquanto conecta o Pico para entrar no bootloader ROM.
O sistema de arquivos flash integrado do Pico, LittleFS, permite enviar uma imagem do sistema de arquivos a partir do diretório do sketch para uso pelo seu sketch. Baixe o plugin necessário em
Para instalar, siga as instruções em
Para informações de uso detalhadas, consulte a documentação do repositório ESP8266 (ignore as notas relacionadas a SPIFFS) disponível em
Se você construiu um Raspberry Pi Picoprobe, pode usar o OpenOCD para gerenciar seus uploads de sketches e para depuração com GDB.
No Windows, um usuário administrador local deve conseguir acessar a porta do Picoprobe automaticamente, mas no Linux o udev deve ser informado sobre o dispositivo e autorizar o acesso de usuários comuns.
Para configurar o acesso de nível de usuário a Picoprobes no Ubuntu (e em outros sistemas que usam udev):
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="660", GROUP-"plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload
sudo udevadm trigger -w -s usb
A primeira linha cria um arquivo de dispositivo em /dev correspondente ao ID de fabricante e produto USB do Picoprobe e habilita permissões globais de leitura+escrita. A segunda linha faz o udev carregar esta nova regra. A terceira linha solicita que o kernel gere eventos de "mudança de dispositivo" que farão nossa nova regra do udev ser executada.
Se por algum motivo o arquivo de dispositivo não aparecer, desconecte e reconecte manualmente a conexão USB e verifique novamente. A saída do dmesg pode revelar diagnósticos úteis se o arquivo de dispositivo continuar ausente.
Depois que as permissões do Picoprobe estiverem configuradas corretamente, selecione a placa "Raspberry Pi Pico (Picoprobe)" no menu Tools e faça o upload normalmente.
As ferramentas instaladas incluem uma versão do OpenOCD (no diretório pqt-openocd) e do GDB (no diretório pqt-gcc). Elas podem ser usadas para executar o GDB em uma janela interativa, conforme documentado nos manuais Pico Getting Started da Raspberry Pi Foundation. Use a linha de comando ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl ou ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl a partir do diretório de instalação do git.
-Earle F. Philhower, III
[email protected]