RP2040、ソフトウェア開発環境 -2

開発環境を考える(C/C++ SDK)

こんにちは、リゲル・インテリジェンスです。
RP2040のソフトウェア開発をArduino IDE環境で試してみたのですが、生成されるバイナリが大きいように感じた(私のArduinoの使い方がヘボなのかもしれませんが)のでC/C++ SDK + gcc-armの環境を構築して比較してみることにしました。

Arduino IDEアプリのインストール一発、に比べると多少手間ですが公式ガイドに従えば特に問題は無いかと思います。
資料は下記にまとまっています。

Raspberry Pi Documentation - Raspberry Pi Pico and Pico W
The official documentation for Raspberry Pi computers and microcontrollers

Raspberry Pi PicoとSeeed XIAO RP2040はハードウェアの違いはわずかで、
・Seeed XIAO RP2040は引き出しているポートの数が少ない(極小サイズですので)
・Seeed XIAO RP2040の方が搭載されているLEDが(なぜか)多い
・Raspberry Pi Picoには3.3Vレギュレータを外部から制御するためのピン有り
・Raspberry Pi PicoにはADC Vrefの入力ピン有り

といったあたりです。Raspberry Pi PicoでLEDが接続されているポート(GP25)は、Seeed XIAO RP2040でもLED(青)が接続されていますのでPico用のLチカサンプルなどはそのままXIAO RP2040でも使えます。
余談ですがSeeed XIAO RP2040のポート直結のLEDは3つ(青、緑、赤)あるのですが、マウント位置が近いというか一体型チップなので不要なLEDは消さないとどれが点いているのかわかりにくいです、特に青と緑。あと、シリアルコントロールのRGB LEDも載っていますがこれはほとんど使い途が無いような。。

私はMacBook Pro(M1)を使用していますので、公式資料( Getting started with Raspberry Pi Pico )のChapter 9.1の手順に従いビルドツール類をセットアップします。次にChapter 2.1の記述通りにSDKを準備したら、Chapter 3のLチカを試すことが出来るようになります。
公式資料にはVSCodeの導入に関しても記載がありますが、まずはコンソール(ターミナル)からビルドを行ってみるとわかりやすいかと思います。

今回使用したLチカをサンプルコードは下記になります。PICO_DEFAULT_LED_PIN =青、です。他の赤と緑は消すようにしています。

ビルド結果がこちら。

.binファイル(バイナリ)で8KB程、USB経由の書込み用.uf2ファイルで17KB弱といったところです。Aruduino IDEでは同様の処理で、
「最大2093056バイトのフラッシュメモリのうち、スケッチが58968バイト (2%) を使っています。」
でしたから比べると随分小さくなりました、たぶん。

今回、RP2040を組込む機器はバッテリー駆動のため消費電力は少しでも抑えたいと思います。生成されるコードの大きさへの懸念はありますが、Arduino環境とC/C++ SDKでどの程度まで設定できるのか比較してから、どちらの環境で開発するかを決めることにしました。

コメント

タイトルとURLをコピーしました