Núcleo Raspberry Pi Pico Arduino, para todas as placas RP2040 e RP2350
Esta é uma porta do Arduino para o RP2040 (processador Raspberry Pi Pico) e RP2350 (processador Raspberry Pi Pico 2). Ele usa o Raspberry Pi Pico SDK básico e um conjunto de ferramentas personalizado GCC 14.2/Newlib 4.3 e oferece suporte a núcleos ARM e RISC-V.
Consulte https://arduino-pico.readthedocs.io/en/latest/ junto 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 solicitações pull e portar bibliotecas ou esboços para este núcleo.
As máquinas de estado PIO (SMs) RP2040 são usadas para gerar sem jitter:
Por favor, não use a versão da Windows Store do aplicativo Arduino real porque ela apresenta problemas para detectar placas Pico conectadas. Use o download do "Windows ZIP" ou do executável "Windows" (EXE) direto de https://arduino.cc. e permita que ele instale todos os drivers de dispositivo sugeridos. Caso contrário, a placa Pico poderá não ser detectada. Além disso, se estiver testando o Arduino beta 2.0, instale a versão 1.8 com antecedência para garantir que os drivers de dispositivo necessários estejam presentes. (Veja #20 para mais detalhes.)
Instalar o Arduino usando flatpak (frequentemente usado por "App Stores" em várias distribuições Linux) significará 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, precisará instalar o Arduino de uma maneira diferente ou substituir o recurso de sandboxing flatpak usando o comando a seguir e, em seguida, reiniciar o Arduino.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Abra o IDE do Arduino e vá em Arquivo->Preferências.
Na caixa de diálogo exibida, insira o seguinte URL no campo "URLs adicionais do gerenciador de placas":
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Clique em OK para fechar a caixa de diálogo.
Vá para Ferramentas->Placas->Board Manager no IDE
Digite "pico" na caixa de pesquisa e selecione "Adicionar":
Usuários do Windows: Antes de instalar via git
no Windows, leia e siga as instruções neste link. Se os caminhos longos do Win32 não estiverem habilitados e git
não estiver configurado para usá-los, poderá haver erros ao tentar clonar os submódulos.
Para instalar via GIT (para versões melhores e mais recentes):
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
cd pico-sdk
git submodule update --init
cd ../tools
python3 ./get.py
Para carregar seu primeiro esboço, você precisará manter pressionado o botão BOOTSEL enquanto conecta o Pico ao seu computador. Em seguida, clique no botão de upload e o esboço deverá ser transferido e começar a ser executado.
Após o primeiro upload, isso não deverá ser necessário, pois o núcleo arduino-pico
tem suporte para reinicialização automática. Selecione a porta serial apropriada mostrada no menu Arduino Tools->Port->Serial Port uma vez (esta configuração permanecerá e não precisará ser alterada para vários uploads). Esta seleção permite que a ferramenta de reinicialização automática identifique o dispositivo adequado para reinicialização. Eles clicaram no botão de upload e seu esboço deve ser carregado e executado.
Em alguns casos, o Pico irá travar e sua porta USB não responderá à solicitação de reinicialização automática. Caso isso aconteça, basta seguir o procedimento inicial de manter pressionado o botão BOOTSEL enquanto conecta o Pico para entrar no bootloader ROM.
O sistema de arquivos flash integrado do Pico, LittleFS, permite fazer upload de uma imagem do sistema de arquivos do diretório de esboço para uso pelo seu esboço. Baixe o plugin necessário em
Para instalar, siga as instruções em
Para obter informações detalhadas sobre o uso, verifique a documentação do repositório ESP8266 (ignore as notas relacionadas ao SPIFFS) disponível em
Se você construiu um Raspberry Pi Picoprobe, pode usar o OpenOCD para lidar com uploads de esboços e para depuração com GDB.
No Windows, um usuário administrador local deve ser capaz de acessar a porta Picoprobe automaticamente, mas no Linux, udev
deve ser informado sobre o dispositivo e permitir o acesso dos usuários normais.
Para configurar o acesso de nível de usuário aos Picoprobes no Ubuntu (e outros sistemas operacionais 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
que corresponde ao fornecedor USB e ao ID do produto do Picoprobe e habilita permissões globais de leitura e gravação. A segunda linha faz com que udev
carregue esta nova regra. A terceira linha solicita que o kernel gere eventos de "mudança de dispositivo" que farão com que nossa nova regra udev
seja executada.
Se por algum motivo o arquivo do 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 do dispositivo permanecer ausente.
Depois que as permissões do Picoprobe estiverem configuradas corretamente, selecione a placa "Raspberry Pi Pico (Picoprobe)" no menu Ferramentas e carregue normalmente.
As ferramentas instaladas incluem uma versão do OpenOCD (no diretório pqt-openocd) e GDB (no diretório pqt-gcc). Eles podem ser usados 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
do diretório de instalação git
.
-Earle F. Philhower, III
[email protected]