開発環境を考える(Arduino)
こんにちは、リゲル・インテリジェンスです。
機器組込み用に購入したSeeed XIAO RP2040ですが、初めて触るChipですのでまずは開発環境の調査を行いました。下記3パターンのいずれかがよく利用されているようです。
1,Arduino IDE
2,MicroPython + Thonny IDE
3,公式C/C++ SDK + gcc-arm
私的に馴染みがあるのは3なのですが、環境構築に少々手間がかかりそうです。人気(?)なのは2のMicroPythonでしょうか。ただしInterpreterの宿命かまずはRP2040のファームウェア書換えが必要とのことです。慣れてないターゲットをいきなり文鎮にしたくはないので1のArduinoを試してみることにしました。(簡単そう)
Arduino IDEのセットアップはSeeedのWikiにもまとめられていますし、多くの先人達が分かりやすい記事にされていますから難しいことは何もありません。新しいターゲットで先ずやってみる”Lチカ”のサンプルコードは下記になります。
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(500); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(500); // wait for a second } |
実にシンプルですね。Cのコードを読める方ならこちらも悩むところは全然無いです。
Arduino IDEの左上にある「書込」ボタンでビルドとUSB接続されたRP2040への転送を一気に行ってくれます。
もちろんちゃんと問題無く動作します。簡単&便利さにちょっと感動しました。
でもでも、よく見ると、、
「最大2093056バイトのフラッシュメモリのうち、スケッチが58968バイト (2%) を使っています。」
、、、多くね? GPIOを一本操作するのなんて、どこかのレジスタを1ビット書き換えるだけですよね??
(ちなみに”スケッチ”というのはよく言うところの”Project”であるらしい)
まあ、簡単に出来る→色々冗長になる→リソースの浪費、ということでしょうか。折角小さなマイコン(重複形容詞)を使うのにちょっとSDGsじゃない。。
MicroPythonを使うともっとダイレクト感が無くなるでしょうか。これはやはり3の「C/C++ SDK + gcc-arm」を試してみないと色々と納得できそうにありません。
また遠回りしてしまったようです。。
![](https://rigel-i.com/blog/wp-content/uploads/cocoon-resources/blog-card-cache/610726b47061e45b0320faafa9b8ad77.png)
![](https://rigel-i.com/blog/wp-content/uploads/cocoon-resources/blog-card-cache/2a0211ff4b644da4563b92d603da101e.png)
コメント