RPiPico(RP2040)ボード用の開発環境構築

最終更新日 2023年3月2日

ArduinoIDEはクロスコンパイル可能な開発環境です。
ここはターゲットデバイスがRaspberryPiPico(RP2040)の場合の開発環境構築の備忘録です。
Arduino公式と云われるMBEDでは無く、Earle F. Philhower, III氏が作成した【Arduino-Pico】の構築方法です。
Earle F. Philhower, IIIはドキュメントもしっかり構築されており、RP2040搭載のボードが出る度にボードコアのUpdate版を更新されており頭が下がります。

注意点

Arduino IDE インストール方法

自身のPC環境に応じたArduinoIDEをArduinoの公式サイトのSOFTWARE>Downloadsページから選択して手元のPC環境にダウンロードして、手順に従ってインストールします。

※ここでは1.8.19以降を選んでインストールすることをお勧めします。
2.xでも使用出来ます。しかし、一部ツールがJAVAに依存していて使えません。
※インストーラ/ZIP形式が用意されていますが、登録先を維持するためにインストーラを使用する事をお勧めします。
※Arduino団体への寄付を求められます。寄付しなくても特に制限はないようです。
※あることがきっかけでコンパイルエラーExitStatus3が出来ることがあります。解決方法を確立できていません。ご注意ください。

追加のボードマネージャのURL登録

Arduino IDEのメニューで ファイル ⇒ 環境設定 を選択し、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

ボードパッケージのインストール

Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
検索欄に「RP2040」と入力し検索されたものの中から「RasberryPiPico/RP2040 boards」をインストールする。

対象ボードをRaspberryPiPicoに設定

メニューの「ツール」をクリックし、以下の図のようにボードを「RaspberryPiPico」に設定し、その他の項目も同様になっていることを確認してください。

フラッシュメモリのサイズ選択出来るかと思います。2MBモデルであってもスケッチに2MBも使うようなコードはなかなか書けないのかと思います。そうであればファイルシステムに分けておくと良いかと思います。

シリアルドライバの登録

RP2040は【BOOTSEL】ボタンを押しながらUSBポートの接続を行うとドライブとしてマウントされるような仕組みになっています。そのマウントされたドライブフォルダ内に、コンパイルされたプログラムコードをドラッグ&ドロップすると、自動で再起動しプログラムが実行されるという仕組みが備わっています。
しかし、シリアルモニタによるデバッグ等、仮想シリアルポートが登録されないとても使いづらく感じます。ArduinoIDEを使う以上使い勝手も同一したいところです。

シリアルドライバの登録ですが、ボードマネージャでArduinoMBED OSをインストールしておくと、インストールの途中でドライバのインストールを要求されるかと思います。
もしそれが実現出来ていない場合、手動で仮想シリアルドライバをインストールします。

  1. まずは以下から仮想USBドライバファイル(.inf)をダウンロードしておきます。
    https://drive.google.com/drive/folders/15ub65XQQIVnaFDG6s73oI3qR4ZOZhQu6
  2. ターゲットボードとPCをUSB接続したとき、デバイスマネージャに不明なデバイスとして登録されていませんか?
    不明なデバイスを右クリックして【ドライバの更新】を実行し、先ほどダウンロードした“pico-serial.inf”を読み込んで登録します。ATMEL, Inc.のPi Pico Serial Portとして登録出来ればOKです。

別案です。adafruit-circuitpython-raspberry_pi_pico-ja-7.2.1.uf2をマウントドライブに書き込むとCircutPythonの開発環境が構築出来ます。そのとき仮想シリアルドライバも登録されます。この仮想シリアルドライバを更新して“pico-serial.inf”に置き換えます。
その上でスケッチを【マイコンに書込】を実行して見てください。

プログラムの作成

とりあえずはサンプルスケッチの優:Blink.inoを選択して開いてください。
LEDはGP25にアサインされていますが、“LED_BUILTIN”で動くはずです。

コンパイル

いきなり【マイコンボードに書き込む】では無く、【検証】を実行してコンパイルが通るか確認します。
エラーが出るようで有れば修正します。

バイナリコードの書込

PCとターゲットボードが接続され、シリアルポートが認識されているか確認します。
【マイコンボードに書き込む】を実行します。
※シリアルモニタが開いたままでも書き込めたり、失敗したり、いろいろな挙動があるようです。

動作確認

ターゲットボードのリセットキーを押してプログラムを再起動させ動作確認します。※Picoの開発ボードにはRESETスイッチがありません。pin30をGNDに落としてリセットとなります。シールドボードを使うことで解決することもあります。
亜種のボードにはRESETスイッチが装備されているモノが多いです。
ArdinoIDEでプログラムのデバッグする場合は、スケッチにSerial.print文を挿入して、ステップ確認や値内容の確認をすることになります。BreakPointを置いたりしたい場合はArdinoIDEでのデバッグは出来ません。

ただ、Arduinoは可成りコーディングルールがまかり通っており、結構デバッグできます。
ただ、使用しているライブラリ内部の問題だったりしたら、そのライブラリはあっさり諦めて別のライブラリを使用しましょう


戯言(nonsense)に戻る


問い合わせ頁の表示


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。