Raspberry Pi Pico2を使ってみよう

  「Raspberry Pi財団が作った組み込みマイコン」の実力は?

 

ーーーー目次ーーーー

1.Raspberry Pi Pico2とは?

2.開発環境ArduinoIDEをインストールしよう

3.ベンチマークテスト

ーーーーーーーーーー

1.Raspberry Pi Pico2とは?

  Raspberry Pi Pico2は、2024年8月にRaspberry Pi財団から発売になった組み込み用マイコン

 ボードです。Raspberry Pi財団が独自に開発した高性能かつセキュアなRP2350マイコンを搭載

 しています。

  最初に注意点ですが、以前から発売されているLinuxが動作するRaspberry Piボードとは違い、

 Linuxは動作しません。同じRP2350を搭載していて、有線LANや無線LANなどに対応したボード

 ならネットワークに接続も可能ですが、DRAMや仮想メモリに非対応のためLinuxのような本格的な

 OSは動作しません。

  仕様的には、ESP32-S3などのマイコンと同等で、小型機器への組み込み用とお考え下さい。

  RP2040を搭載したPicoもありますが、デュアルのCortex-M0+(133MHz)なので、ハードで浮動小数点

 演算もサポートせず、ESP32-S3と比べると遥かに性能が低いので、興味ありませんでした。

  RP2350はデュアルのCortex-M33(150MHz)で浮動小数点演算をサポートし、RISC-Vでデュアルの

 Hazard3(150MHz)も選べるので評価のために買ってみました。

  結論としては、CPU ArchitectureでARM、Optimizeで-O3を選ぶことでESP32-S3を超える性能を

 発揮することが可能なので、無線LANやBluetoothが不要ならPico2(RP2350)を選択する

 価値はあると思います。

 

 主な仕様

  ・CPU:デュアルArm Cortex-M33 or デュアルRISC-V Hazard3プロセッサ@150 MHz

  ・メモリ:520KBオンチップSRAM、4MBオンボードQSPIフラッシュ

  ・ペリフェラル:UART(2ch)、SPI(2ch)、I2C(2ch)、PWM(16ch)、ADC(3ch)

          USB 1.1コントローラ&PHY(ホスト/デバイス両対応)

 

2.開発環境ArduinoIDEをインストールしよう

  まず、Arduino IDEをインストールしてください。

  その後、ファイルー環境設定の追加のボードマネージャのURLに

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

  を追加し、ツールーボードのボードマネージャで「RP2350」等で検索し、インストールします。

  なお、私は、下の写真のようにブレッドボードを使って、320x240のLCDパネルやI2Sスピーカ

  などを接続して評価しています。SPI、I2S、ADCなどを使用し、問題なく動作しました。

3.ベンチマークテスト

  一般的なベンチマークテストDhrystone、Whetstone、CoreMarkと、自作ソフトを各種マイコンで

 実行した結果をまとめました。

  ここからRaspberry Pi Pico2を評価すると、CPU ArchitectureでARM、Optimizeで-O3を選ぶことで、

 240MHz動作のESP32S3を超える性能を発揮できるので、様々な用途で使用できると感じました。

  なお、-O3を選んだ時のDhrystoneやWhetstoneの値が異常に高いのは、最適化で一部コードが

 削除されたのが原因かもしれないので、CoreMarkや自作レイトレーシングの結果の方を信じた方が

 良いでしょう。

周波数

Dhrystone

(VAX MIPS)

Whetstone

(MIPS)

CoreMark

(CoreMark)

自作レイトレーシング

yray3

(sec)

備考

Raspberry Pi Pico2

(ARM)

150MHz

157.89

345.86

108.11

751.88

338.50

432.12

34.484

18.025

-Os

-O3

Raspberry Pi Pico2

(RISC-V)

150MHz

196.06

438.61

12.63

25.27

333.25

449.44

302.654

297.439

-Os

-O3

ESP32

240MHz

178.71

144.93

374.72

20.439

ESP32-S3

240MHz

196.93

150.60

450.89

19.174

自作rv32imafc

(PYNQ-Z2)

62.5MHz

101.21

95.41

126.79

94.366

-O3

自作rv64gc

(PYNQ-Z2)

62.5MHz

138.84

157.72

終了せず

72.044

-O3