
Raspberry Pi Pico Arduino core, für alle RP2040 und RP2350 Boards
Raspberry Pi Pico Arduino-Core für alle RP2040- und RP2350-Boards
Dies ist ein Port von Arduino auf den RP2040 (Raspberry Pi Pico Prozessor) und RP2350 (Raspberry Pi Pico 2 Prozessor). Es verwendet das reine Raspberry Pi Pico SDK und eine benutzerdefinierte GCC 14.3/Newlib 4.5-Toolchain und unterstützt ARM- und RISC-V-Kerne.
Siehe https://arduino-pico.readthedocs.io/en/latest/ zusammen mit den Beispielen für detailliertere Nutzungsinformationen.
Lesen Sie den Leitfaden zum Mitwirken für weitere Informationen zum Einreichen von Pull-Requests und zum Portieren von Bibliotheken oder Skizzen auf diesen Core.
Die RP2040 PIO-Zustandsmaschinen (SMs) werden verwendet, um jitterfreie:
zu erzeugen.
Bitte verwenden Sie nicht die Windows Store-Version der eigentlichen Arduino-Anwendung, da diese Probleme beim Erkennen angeschlossener Pico-Boards hat. Verwenden Sie die "Windows ZIP" oder die normale "Windows"-ausführbare Datei (EXE) direkt von https://arduino.cc und lassen Sie zu, dass sie alle vorgeschlagenen Gerätetreiber installiert. Andernfalls wird das Pico-Board möglicherweise nicht erkannt. Wenn Sie die 2.0 Beta von Arduino ausprobieren, installieren Sie bitte vorher die Version 1.8, um sicherzustellen, dass die erforderlichen Gerätetreiber vorhanden sind. (Siehe #20 für weitere Details.)
Die Installation von Arduino über flatpak (häufig von "App Stores" in verschiedenen Linux-Distributionen verwendet) bedeutet, dass der Zugriff auf den Host eingeschränkt ist. Dies kann dazu führen, dass Uploads mit Fehlermeldungen wie der folgenden fehlschlagen:
Scanning for RP2040 devices
...
No drive to deploy.
Wenn dies auftritt, müssen Sie Arduino entweder auf andere Weise installieren oder die Flatpak-Sandbox-Funktion mit dem folgenden Befehl überschreiben und dann Arduino neu starten.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Öffnen Sie die Arduino-IDE und gehen Sie zu Datei->Voreinstellungen.
Geben Sie im daraufhin erscheinenden Dialogfeld die folgende URL in das Feld "Zusätzliche Boardverwalter-URLs" ein:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Klicken Sie auf OK, um das Dialogfeld zu schließen.
Gehen Sie in der IDE zu Werkzeuge->Boards->Boardverwalter
Geben Sie "pico" in das Suchfeld ein und wählen Sie "Hinzufügen":

Windows-Benutzer: Bevor Sie unter Windows über git installieren, lesen und befolgen Sie bitte die Anweisungen unter diesem Link. Wenn Win32-Lange-Pfade nicht aktiviert und git nicht für deren Verwendung konfiguriert ist, kann es beim Klonen der Untermodule zu Fehlern kommen.
Um unter Linux oder Mac über GIT (für die neuesten und besten Versionen) zu installieren:
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
Für Windows müssen Sie Python bereits installiert haben und das git clone in einem anderen Pfad durchführen:
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
Um Ihre erste Skizze hochzuladen, müssen Sie die BOOTSEL-Taste gedrückt halten, während Sie den Pico an Ihren Computer anschließen. Drücken Sie dann die Upload-Taste, und die Skizze sollte übertragen werden und zu laufen beginnen.
Nach dem ersten Upload sollte dies nicht mehr notwendig sein, da der arduino-pico-Core eine Auto-Reset-Unterstützung besitzt.
Wählen Sie den entsprechenden seriellen Anschluss im Arduino-Menü Werkzeuge->Port->Serieller Anschluss einmal aus (diese Einstellung bleibt erhalten und muss für mehrere Uploads nicht mehr geändert werden). Diese Auswahl ermöglicht dem Auto-Reset-Tool, das richtige Gerät zum Zurücksetzen zu identifizieren. Drücken Sie dann die Upload-Taste, und Ihre Skizze sollte hochgeladen werden und laufen.
In einigen Fällen stürzt der Pico hart ab und sein USB-Anschluss reagiert nicht auf die Auto-Reset-Anforderung. Sollte dies passieren, folgen Sie einfach dem anfänglichen Verfahren, indem Sie die BOOTSEL-Taste gedrückt halten, während Sie den Pico einstecken, um den ROM-Bootloader zu betreten.
Das interne Flash-Dateisystem des Pico, LittleFS, ermöglicht es Ihnen, ein Dateisystem-Image aus dem Skizzenverzeichnis hochzuladen, das Ihre Skizze verwenden kann. Laden Sie das benötigte Plugin herunter von
Zur Installation folgen Sie den Anweisungen unter
Detaillierte Nutzungsinformationen finden Sie in der ESP8266-Repo-Dokumentation (ignorieren Sie SPIFFS-bezogene Hinweise) unter
Wenn Sie einen Raspberry Pi Picoprobe gebaut haben, können Sie OpenOCD für Ihre Skizzen-Uploads und zum Debuggen mit GDB verwenden.
Unter Windows sollte ein lokaler Administratorbenutzer automatisch auf den Picoprobe-Port zugreifen können, aber unter Linux muss udev über das Gerät informiert und so konfiguriert werden, dass normale Benutzer darauf zugreifen können.
Um den Benutzerzugriff auf Picoprobes unter Ubuntu (und anderen Betriebssystemen, die udev verwenden) einzurichten:
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
Die erste Zeile erstellt eine Gerätedatei in /dev, die der USB-Hersteller- und Produkt-ID des Picoprobe entspricht, und aktiviert globale Lese- und Schreibberechtigungen. Die zweite Zeile veranlasst udev, diese neue Regel zu laden. Die dritte Zeile fordert den Kernel auf, "Geräteänderungs"-Ereignisse zu generieren, die dazu führen, dass unsere neue udev-Regel ausgeführt wird.
Wenn die Gerätedatei aus irgendeinem Grund nicht erscheint, trennen Sie die USB-Verbindung manuell und schließen Sie sie wieder an und überprüfen Sie erneut. Die Ausgabe von dmesg kann nützliche Diagnoseinformationen liefern, wenn die Gerätedatei weiterhin fehlt.
Sobald die Picoprobe-Berechtigungen korrekt eingerichtet sind, wählen Sie im Menü "Werkzeuge" das Board "Raspberry Pi Pico (Picoprobe)" aus und laden Sie wie gewohnt hoch.
Die installierten Werkzeuge enthalten eine Version von OpenOCD (im Verzeichnis pqt-openocd) und GDB (im Verzeichnis pqt-gcc). Diese können verwendet werden, um GDB in einem interaktiven Fenster auszuführen, wie in den Pico-Erste-Schritte-Handbüchern der Raspberry Pi Foundation dokumentiert. Verwenden Sie den Befehlszeilenbefehl ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl oder ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl aus dem git-Installationsverzeichnis.
-Earle F. Philhower, III
[email protected]