
Raspberry Pi Pico Arduino core、すべてのRP2040およびRP2350ボード向け
Raspberry Pi Pico Arduino コア(全 RP2040 および RP2350 ボード対応)
これは、Arduino を RP2040(Raspberry Pi Pico プロセッサ)および RP2350(Raspberry Pi Pico 2 プロセッサ)に移植したものです。ベアメタルの Raspberry Pi Pico SDK とカスタムの GCC 14.3/Newlib 4.5 ツールチェーンを使用し、ARM および RISC-V コアをサポートしています。
より詳細な使用情報については、https://arduino-pico.readthedocs.io/en/latest/ とサンプルを参照してください。
プルリクエストの提出や、このコアへのライブラリ・スケッチの移植についての詳細は、コントリビューティングガイド を参照してください。
RP2040 の PIO ステートマシン(SM)は、次のジッタフリーな生成に使用されます:
実際の Arduino アプリケーションは Windows ストア版を使用しないでください。接続された Pico ボードの検出に問題があるためです。https://arduino.cc から直接「Windows ZIP」または通常の「Windows」実行ファイル(EXE)をダウンロードし、提案されたデバイスドライバをすべてインストールしてください。そうしないと、Pico ボードが検出されない場合があります。また、Arduino 2.0 ベータ版を試す場合は、必要なデバイスドライバが存在することを確認するために、事前にリリース 1.8 版をインストールしてください。(詳細は #20 を参照してください。)
flatpak を使用して Arduino をインストールする場合(さまざまな Linux ディストリビューションの「アプリストア」でよく使用されます)、ホストへのアクセスが制限されます。これにより、次のようなエラーメッセージが表示されてアップロードが失敗する可能性があります:
Scanning for RP2040 devices
...
No drive to deploy.
この問題が発生した場合は、Arduino を別の方法でインストールするか、次のコマンドを使用して flatpak のサンドボックス機能をオーバーライドしてから、Arduino を再起動してください。
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Arduino IDE を開き、File->Preferences に移動します。
表示されたダイアログで、「Additional Boards Manager URLs」フィールドに次の URL を入力します:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

OK をクリックしてダイアログを閉じます。
IDE で Tools->Boards->Board Manager に移動します。
検索ボックスに「pico」と入力し、「Add」を選択します:

Windows ユーザー: Windows で git を使用してインストールする前に、このリンク の指示を読んで従ってください。Win32 の長いパスが有効になっておらず、git がそれらを使用するように設定されていない場合、サブモジュールのクローン作成時にエラーが発生する可能性があります。
Linux または Mac で GIT 経由でインストールする場合(最新版の場合):
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
Windows の場合、Python がすでにインストールされている必要があり、git clone は別のパスで行います:
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
最初のスケッチをアップロードするには、Pico をコンピューターに接続する際に BOOTSEL ボタンを押したままにする必要があります。その後、アップロードボタンを押すと、スケッチが転送されて実行が開始されます。
arduino-pico コアには自動リセット機能があるため、最初のアップロード後はこの操作は必要ありません。Arduino の Tools->Port->Serial Port メニューに表示される適切なシリアルポートを一度選択してください(この設定は保持され、複数回のアップロードで変更する必要はありません)。この選択により、自動リセットツールがリセットするデバイスを識別できます。その後、アップロードボタンを押すと、スケッチがアップロードされて実行されます。
場合によっては、Pico がハードハングを起こし、USB ポートが自動リセット要求に応答しないことがあります。その場合は、最初の手順と同様に、BOOTSEL ボタンを押したまま Pico を接続して ROM ブートローダーに入ってください。
Pico のオンボードフラッシュファイルシステムである LittleFS を使用すると、スケッチディレクトリからファイルシステムイメージをアップロードして、スケッチで使用できます。必要なプラグインを次からダウンロードしてください:
インストールするには、次の指示に従ってください:
詳細な使用方法については、次で入手できる ESP8266 リポジトリのドキュメント(SPIFFS 関連の注意事項は無視)を確認してください:
Raspberry Pi Picoprobe を構築した場合は、OpenOCD を使用してスケッチのアップロードと GDB によるデバッグを処理できます。
Windows では、ローカルの管理者ユーザーが Picoprobe ポートに自動的にアクセスできるはずですが、Linux では udev にデバイスを認識させ、通常のユーザーがアクセスできるように設定する必要があります。
Ubuntu(および udev を使用する他の OS)で Picoprobe へのユーザーレベルのアクセスを設定するには:
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
最初の行は、Picoprobe の USB ベンダー ID とプロダクト ID に一致するデバイスファイルを /dev に作成し、グローバルな読み取り+書き込み権限を有効にします。2 行目は udev にこの新しいルールをロードさせます。3 行目は、カーネルに「デバイス変更」イベントを生成させ、新しい udev ルールを実行させます。
何らかの理由でデバイスファイルが表示されない場合は、USB 接続を手動で抜き差ししてもう一度確認してください。デバイスファイルがまだ存在しない場合は、dmesg の出力が有用な診断情報を提供することがあります。
Picoprobe の権限が正しく設定されたら、Tools メニューでボード「Raspberry Pi Pico (Picoprobe)」を選択し、通常どおりアップロードします。
インストールされたツールには、OpenOCD(pqt-openocd ディレクトリ内)と GDB(pqt-gcc ディレクトリ内)のバージョンが含まれています。これらを使用して、Raspberry Pi 財団の Pico Getting Started マニュアルに記載されているとおり、インタラクティブウィンドウで GDB を実行できます。git インストールディレクトリから、コマンドライン ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl または ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl を使用してください。
-Earle F. Philhower, III
[email protected]