Noyau Raspberry Pi Pico Arduino, pour toutes les cartes RP2040 et RP2350
Il s'agit d'un port d'Arduino vers le RP2040 (processeur Raspberry Pi Pico) et le RP2350 (processeur Raspberry Pi Pico 2). Il utilise le SDK Raspberry Pi Pico nu et une chaîne d'outils GCC 14.2/Newlib 4.3 personnalisée et prend en charge les cœurs ARM et RISC-V.
Voir https://arduino-pico.readthedocs.io/en/latest/ avec les exemples pour des informations d'utilisation plus détaillées.
Lisez le Guide de contribution pour plus d'informations sur la soumission de demandes d'extraction et le portage de bibliothèques ou de croquis sur ce noyau.
Les machines à états (SM) RP2040 PIO sont utilisées pour générer sans gigue :
Veuillez ne pas utiliser la version Windows Store de l'application Arduino actuelle, car elle rencontre des problèmes de détection des cartes Pico connectées. Utilisez le téléchargement "Windows ZIP" ou simple "Windows" exécutable (EXE) directement depuis https://arduino.cc. et permettez-lui d'installer tous les pilotes de périphérique qu'il suggère. Sinon, la carte Pico risque de ne pas être détectée. De plus, si vous essayez la version bêta 2.0 d'Arduino, veuillez installer la version 1.8 au préalable pour vous assurer que les pilotes de périphérique nécessaires sont présents. (Voir #20 pour plus de détails.)
L'installation d'Arduino à l'aide de flatpak (souvent utilisé par les « App Stores » dans diverses distributions Linux) signifiera qu'il aura un accès restreint à l'hôte. Cela peut entraîner l'échec des téléchargements avec des messages d'erreur tels que les suivants :
Scanning for RP2040 devices
...
No drive to deploy.
Si vous rencontrez ce problème, vous devrez soit installer Arduino d'une manière différente, soit remplacer la fonctionnalité de sandboxing flatpak à l'aide de la commande suivante, puis redémarrer Arduino.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Ouvrez l'IDE Arduino et accédez à Fichier->Préférences.
Dans la boîte de dialogue qui apparaît, saisissez l'URL suivante dans le champ « URL supplémentaires du gestionnaire de cartes » :
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Appuyez sur OK pour fermer la boîte de dialogue.
Allez dans Outils->Boards->Board Manager dans l'EDI
Tapez « pico » dans le champ de recherche et sélectionnez « Ajouter » :
Utilisateurs Windows : avant d'installer via git
sur Windows, veuillez lire et suivre les instructions de ce lien. Si les chemins longs Win32 ne sont pas activés et git
n'est pas configuré pour les utiliser, des erreurs peuvent survenir lors de la tentative de clonage des sous-modules.
Pour installer via GIT (pour les versions les plus récentes et les plus performantes) :
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
Pour télécharger votre premier croquis, vous devrez maintenir le bouton BOOTSEL enfoncé tout en branchant le Pico à votre ordinateur. Appuyez ensuite sur le bouton de téléchargement et le croquis devrait être transféré et commencer à s'exécuter.
Après le premier téléchargement, cela ne devrait pas être nécessaire car le noyau arduino-pico
prend en charge la réinitialisation automatique. Sélectionnez une fois le port série approprié affiché dans le menu Outils Arduino->Port->Port série (ce paramètre restera conservé et n'aura pas besoin d'être modifié pour plusieurs téléchargements). Cette sélection permet à l'outil de réinitialisation automatique d'identifier le périphérique approprié à réinitialiser. Appuyez-les sur le bouton de téléchargement et votre croquis devrait être téléchargé et exécuté.
Dans certains cas, le Pico rencontrera un blocage brutal et son port USB ne répondra pas à la demande de réinitialisation automatique. Si cela se produit, suivez simplement la procédure initiale consistant à maintenir le bouton BOOTSEL enfoncé tout en branchant le Pico pour accéder au chargeur de démarrage ROM.
Le système de fichiers flash intégré pour le Pico, LittleFS, vous permet de télécharger une image du système de fichiers à partir du répertoire d'esquisse pour que votre esquisse puisse l'utiliser. Téléchargez le plugin nécessaire depuis
Pour l'installer, suivez les instructions dans
Pour des informations détaillées sur l'utilisation, veuillez consulter la documentation du référentiel ESP8266 (ignorer les notes relatives aux SPIFFS) disponible sur
Si vous avez construit une Picoprobe Raspberry Pi, vous pouvez utiliser OpenOCD pour gérer vos téléchargements de croquis et pour le débogage avec GDB.
Sous Windows, un utilisateur administrateur local devrait pouvoir accéder automatiquement au port Picoprobe, mais sous Linux, udev
doit être informé de l'existence du périphérique et autoriser l'accès des utilisateurs normaux.
Pour configurer l'accès au niveau utilisateur aux Picoprobes sur Ubuntu (et d'autres systèmes d'exploitation utilisant 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 première ligne crée un fichier de périphérique dans /dev
correspondant au fournisseur USB et à l'ID de produit de la Picoprobe, et active les autorisations globales de lecture et d'écriture. La deuxième ligne amène udev
à charger cette nouvelle règle. La troisième ligne demande au noyau de générer des événements de « changement de périphérique » qui entraîneront l'exécution de notre nouvelle règle udev
.
Si, pour une raison quelconque, le fichier de l'appareil n'apparaît pas, débranchez et rebranchez manuellement la connexion USB et vérifiez à nouveau. La sortie de dmesg
peut révéler des diagnostics utiles si le fichier de périphérique reste absent.
Une fois les autorisations Picoprobe correctement configurées, sélectionnez le tableau "Raspberry Pi Pico (Picoprobe)" dans le menu Outils et téléchargez-le normalement.
Les outils installés incluent une version d'OpenOCD (dans le répertoire pqt-openocd) et de GDB (dans le répertoire pqt-gcc). Ceux-ci peuvent être utilisés pour exécuter GDB dans une fenêtre interactive, comme indiqué dans les manuels de démarrage Pico de la Raspberry Pi Foundation. Utilisez la ligne de commande ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl
ou ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl
à partir du répertoire d'installation git
.
-Earle F. Philhower, III
[email protected]