最終更新日 2023年1月12日
※2023年01月12日 Arduino1.xと2.xでプラグイン関連の互換がありません ※2023年01月05日 RPiPicoの開発環境をArduinoIDE2.x環境で実現出来るように移行することにしました。Arduino IDE2.0が正式リリースされており、カレントバージョンが2.0.3となっていました。自分は主にSTM32F1をArduinoIDEで使用している関係からArduino IDE 2.0への移行は困難と考えてArduino IDE 1.xを使い続けています。そして、Arduino IDE 1.xは1.8.19で終焉となったようです。このバージョンはそれなりに安定しているので納得ではありますが。
Arduino IDE2.0でロジャークラーク氏のArduino_STM32が使える様になれば移行できるのですが、、、
2023年1月5日 RPiPicoの開発環境をArduinoIDE2.x環境で実現出来るように移行することにしました。
ArduinoIDE2RC3がインストール済みで、上書きインストールして見たのですが、うまく更新出来ませんでした。そこでArduinoIDE2RC3をアンインストールして改めてArduino IDE2.0.3をインストールしたところ、無事インストールは出来ました。
ボードリストを確認したところRC3の調査時に構成したモノがそのまま残っているようで、Board:Raspberry Pi Pico が選択出来ました。
既存のソースをビルドしてみようと思い、最近1.8.19でビルドして使っているソースを元にArduino IDE2.0.3で開き、別名で保存し直してビルドを試みました。すると、以下のようなコンパイルエラーが発生してしまいました。
In file included from C:\Users\ToolsBox\Documents\Arduino\[IDE2]PiPico_Grove_Test_26.0_RP2040_RTC_Time_Ethernet\[IDE2]PiPico_Grove_Test_26.0_RP2040_RTC_Time_Ethernet.ino:14: C:\Users\ToolsBox\Documents\Arduino\[IDE2]PiPico_Grove_Test_26.0_RP2040_RTC_Time_Ethernet\defines.h:153:10: fatal error: EthernetWebServer.h: No such file or directory 153 | #include <EthernetWebServer.h> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. 「Ethernet.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\ToolsBox\Documents\Arduino\libraries\Ethernet 未使用:C:\Users\ToolsBox\Documents\Arduino\libraries\Ethernet-master 未使用:C:\Users\ToolsBox\Documents\Arduino\libraries\UIPEthernet exit status 1 Compilation error: EthernetWebServer.h: No such file or directory |
なかなか難しいモノですね。使用するライブラリを選択するようにコードを書き直せばうまくゆくのか再検討が必要です。Wiznet製の最新ライブラリを使う事で回避出来るような気もしています。結果は改めてレポートします。
判りました。ビルドするソースコードが間違っていました。
GPSNTP RPiPicoShield 2.5.6.0というコードをビルドしたところすんなり通りました。バイナリコードを書き込んで実行したところ普通に実行しました。
最大2093056バイトのフラッシュメモリのうち、スケッチが107304バイト(5%)を使っています。 最大262144バイトのRAMのうち、グローバル変数が14096バイト(5%)を使っていて、ローカル変数で248048バイト使うことができます。 Resetting COM42 Caught exception during reset! Converting to uf2, output size: 229376, start address: 0x2000 Flashing M: (RPI-RP2) Wrote 229376 bytes to M:/NEW.UF2 |
まだまだスケッチに余裕があります。これだけ空いているのだから、ファイルシステムを構築して、グラフ等のスクリプトを内挿しても良いのかなと思いますね。そもそもRPi2040の場合、バイナリを指定フォルダにコピーするというような仕組みでもあり、そのフォルダ内にHTMLを構築するのはアリなのではないかなと思っています、調査が必要です。
Arduino-Picoで使用されているフラッシュメモリのレイアウトが公開されています。
|---------------------|-------------|----| ^ ^ ^ Sketch File system EEPROM |
RP2040のフラッシュメモリサイズは2MB〜16MBとなっており、16MB積んでいた場合、64kから15MBまでで構成可能となっています。
earlephilhower/arduino-pico-littlefs-plugin を使う事でLittleFSというファイルシステムが構築出来ます。ESP32/8266と同様の扱いのようです。
2023年01月12日 Arduino1.xと2.xでプラグイン関連の互換がありません
Arduino-PicoにはlittleFSというファイルシステムが用意されています。以下にそのドキュメントがあります。
https://arduino-pico.readthedocs.io/en/latest/fs.html
JAVAで作成されたjarファイル「picolittlefs.jar」というプラグインファイルを開発環境の特定の場所にインストールする事で使えるとあります。
<home_dir>/Arduino/tools/PicoLittleFS/tool/picolittlefs.jar資料を見る限りSDFS相当の仕組みのようです。このプラグインの仕組みですがArduinoIDE2では使えないことが判りました。フォーラムに書込がありました。
外部ツール / プラグインのサポートがない
https://forum.arduino.cc/t/how-install-plugins-to-arduino-ide-2-x/1074400/2
ArduinoIDE2xでプラグインの仕組み自体はあるように思われるのですが、少なくともArduinoIDE1x用のプラグインはArduinoIDE2xでは使えない/互換性が無いことが明確になりました。
互換性のあるプラグインを猛者が作ってくれることを期待するしかなさそうです。
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権は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社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。