Núcleo Raspberry Pi Pico Arduino, para todas las placas RP2040 y RP2350
Este es un puerto de Arduino para RP2040 (procesador Raspberry Pi Pico) y RP2350 (procesador Raspberry Pi Pico 2). Utiliza el SDK Raspberry Pi Pico y una cadena de herramientas personalizada GCC 14.2/Newlib 4.3 y admite núcleos ARM y RISC-V.
Consulte https://arduino-pico.readthedocs.io/en/latest/ junto con los ejemplos para obtener información de uso más detallada.
Lea la Guía de contribución para obtener más información sobre cómo enviar solicitudes de extracción y transferir bibliotecas o bocetos a este núcleo.
Las máquinas de estado (SM) PIO RP2040 se utilizan para generar sin fluctuaciones:
No utilice la versión de la Tienda Windows de la aplicación Arduino real porque tiene problemas para detectar las placas Pico conectadas. Utilice la descarga del ejecutable "Windows ZIP" o del simple "Windows" (EXE) directamente desde https://arduino.cc. y permítale instalar los controladores de dispositivo que sugiera. De lo contrario, es posible que no se detecte la placa Pico. Además, si prueba la versión 2.0 beta de Arduino, instale la versión 1.8 de antemano para asegurarse de que estén presentes los controladores de dispositivo necesarios. (Consulte el n.° 20 para obtener más detalles).
Instalar Arduino usando Flatpak (usado a menudo por las "Tiendas de aplicaciones" en varias distribuciones de Linux) significará que tiene acceso restringido al host. Esto podría provocar que las cargas fallen con mensajes de error como los siguientes:
Scanning for RP2040 devices
...
No drive to deploy.
Si encuentra esto, deberá instalar Arduino de una manera diferente o anular la función de espacio aislado de Flatpak usando el siguiente comando y luego reiniciar Arduino.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Abra el IDE de Arduino y vaya a Archivo->Preferencias.
En el cuadro de diálogo que aparece, ingrese la siguiente URL en el campo "URL del Administrador de tableros adicionales":
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Presione Aceptar para cerrar el cuadro de diálogo.
Vaya a Herramientas->Tableros->Administrador de tableros en el IDE
Escriba "pico" en el cuadro de búsqueda y seleccione "Agregar":
Usuarios de Windows: antes de realizar la instalación mediante git
en Windows, lea y siga las instrucciones de este enlace. Si las rutas largas de Win32 no están habilitadas y git
no está configurado para usarlas, es posible que se produzcan errores al intentar clonar los submódulos.
Para instalar a través de GIT (para las versiones más recientes y mejores):
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 cargar su primer boceto, deberá mantener presionado el botón BOOTSEL mientras conecta el Pico a su computadora. Luego presione el botón cargar y el boceto debería transferirse y comenzar a ejecutarse.
Después de la primera carga, esto no debería ser necesario ya que el núcleo arduino-pico
admite reinicio automático. Seleccione el puerto serie apropiado que se muestra en el menú Herramientas Arduino->Puerto->Puerto serie una vez (esta configuración se mantendrá y no será necesario tocarla para cargas múltiples). Esta selección permite que la herramienta de reinicio automático identifique el dispositivo adecuado para reiniciar. Pulsan el botón de carga y su boceto debería cargarse y ejecutarse.
En algunos casos, el Pico se bloqueará y su puerto USB no responderá a la solicitud de reinicio automático. Si esto sucede, simplemente siga el procedimiento inicial de mantener presionado el botón BOOTSEL mientras conecta el Pico para ingresar al gestor de arranque ROM.
El sistema de archivos flash integrado para Pico, LittleFS, le permite cargar una imagen del sistema de archivos desde el directorio de bocetos para que la utilice su boceto. Descargue el complemento necesario desde
Para instalar, siga las instrucciones en
Para obtener información detallada sobre el uso, consulte la documentación del repositorio ESP8266 (ignore las notas relacionadas con SPIFFS) disponible en
Si ha creado una Raspberry Pi Picoprobe, puede usar OpenOCD para manejar las cargas de bocetos y para depurar con GDB.
En Windows, un usuario administrador local debería poder acceder al puerto Picoprobe automáticamente, pero en Linux se debe informar udev
sobre el dispositivo y permitir el acceso a usuarios normales.
Para configurar el acceso a nivel de usuario a Picoprobes en Ubuntu (y otros sistemas operativos que usan 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
La primera línea crea un archivo de dispositivo en /dev
que coincide con el proveedor de USB y el ID del producto de Picoprobe, y habilita permisos globales de lectura+escritura. La segunda línea hace que udev
cargue esta nueva regla. La tercera línea solicita que el kernel genere eventos de "cambio de dispositivo" que harán que se ejecute nuestra nueva regla udev
.
Si por alguna razón el archivo del dispositivo no aparece, desconecte y vuelva a conectar manualmente la conexión USB y verifique nuevamente. El resultado de dmesg
puede revelar diagnósticos útiles si el archivo del dispositivo permanece ausente.
Una vez que los permisos de Picoprobe estén configurados correctamente, seleccione la placa "Raspberry Pi Pico (Picoprobe)" en el menú Herramientas y cárguela normalmente.
Las herramientas instaladas incluyen una versión de OpenOCD (en el directorio pqt-openocd) y GDB (en el directorio pqt-gcc). Estos se pueden utilizar para ejecutar GDB en una ventana interactiva como se documenta en los manuales de introducción de Pico de la Fundación Raspberry Pi. Utilice la línea de comando ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl
o ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl
desde el directorio de instalación git
.
-Earle F. Philhower, III
[email protected]