萌えハッカーニュースリーダー

2025/03/16 12:42 Rust on the RP2350

出典: https://thejpster.org.uk/blog/blog-2024-08-08/
hakase
博士

ロボ子、新しいRaspberry Piのマイクロコントローラ、RP2350ファミリーが出たのじゃ!

roboko
ロボ子

博士、それはすごいですね!今回の新製品のポイントは何でしょうか?

hakase
博士

なんと、初のRustサポートが標準搭載されたマイクロコントローラなのじゃ!

roboko
ロボ子

Rustですか!組み込み開発でのRustの採用が増えてきていますね。

hakase
博士

スペックもすごいぞ。メインCPUは2つのArm Cortex-M33、代替CPUは2つのHazard3じゃ。

roboko
ロボ子

ArmとRISC-Vの両方を搭載しているんですね。クロックは150MHz、SRAMは520KiBですか。

hakase
博士

内部フラッシュはRP2350xにはなくて、RP2354xには2MiBあるみたいじゃな。

roboko
ロボ子

用途によって使い分けられるんですね。GPIOも最大48個あるのは便利そうです。

hakase
博士

DVI出力もできるのが面白いところじゃな。ハードウェアTMDSエンコーダと高速シリアライザがついてるぞ。

roboko
ロボ子

マイクロコントローラでDVI出力ですか!組み込み機器で映像を扱うのが簡単になりますね。

hakase
博士

しかも、スリープ電流は10μAまで下がるらしいぞ。省電力性能もバッチリじゃ。

roboko
ロボ子

IoT機器など、バッテリー駆動のデバイスには最適ですね。

hakase
博士

RP235xには4つのバリアントがあるみたいじゃ。GPIOの数やフラッシュの有無で選べるぞ。

roboko
ロボ子

選択肢が多いのは良いことですね。プロジェクトの要件に合わせて最適なものを選べます。

hakase
博士

Rustターゲットは、Arm Cortex-M33が`thumbv8m.main-none-eabihf`、Hazard3 RV32IMACが`riscv32imac-unknown-none-elf`じゃ。

roboko
ロボ子

それぞれのアーキテクチャに合わせてターゲットが用意されているんですね。

hakase
博士

`rp-rs/rp-hal`でRP2350 HALが利用できるらしいぞ。

roboko
ロボ子

HALが提供されているのはありがたいですね。開発効率が上がりそうです。

hakase
博士

ブートプロセスはRP2040より複雑らしい。各コアはArmかRISC-Vモードで動くし、Armコアはセキュアか非セキュアモードで動くし、RISC-Vコアはマシンかユーザーモードで動くぞ。

roboko
ロボ子

ブートの柔軟性が高い分、設定も複雑になるんですね。セキュリティを考慮した設計も重要になりそうです。

hakase
博士

イメージ定義も重要じゃ。フラッシュの最初の4KiB内に配置する必要があるデータ構造で、CPUコアやモード、バージョン情報、ハッシュ、署名などを指定するぞ。

roboko
ロボ子

ブートローダーが正しく動作するために、イメージ定義は正確に設定する必要がありますね。

hakase
博士

パーティションテーブルでフラッシュを最大16個のパーティションに分割できるぞ。各パーティションのコード/データ、A/Bパーティション、Armセキュア/非セキュア/RISC-Vコードなどを制御できる。

roboko
ロボ子

パーティションを分けることで、ファームウェアのアップデートやセキュリティ対策がしやすくなりますね。

hakase
博士

アドレス変換も面白いぞ。各16MiBウィンドウは4つの4MiBウィンドウに分割可能で、各4MiBウィンドウは、関連するQSPIチップ内の任意のアドレスに4KiB単位でマッピングできる。

roboko
ロボ子

外部QSPIフラッシュを柔軟に扱えるようにするための仕組みですね。

hakase
博士

OTP (One-Time Programmable memory)も64ページあるぞ。セキュアブートローダーの場所や工場テストの結果、ブートフラグなどを格納できる。

roboko
ロボ子

重要な情報を安全に保存するための領域ですね。

hakase
博士

残念ながら、ハードウェアによるフラッシュ暗号化機能はないみたいじゃ。

roboko
ロボ子

ソフトウェアでの対策が必要になりますね。

hakase
博士

DVI出力は、ハードウェアTMDS 8:10エンコーダを使って、640x480@60Hzで24ビットカラーを生成できるぞ。

roboko
ロボ子

低解像度ではありますが、組み込み用途には十分かもしれませんね。

hakase
博士

DCP (Digital Copy Processor)はf64演算を高速化するらしいぞ。

roboko
ロボ子

倍精度浮動小数点演算を多用するアプリケーションには有効ですね。

hakase
博士

盛りだくさんの機能で、色々なことができそうじゃな!

roboko
ロボ子

そうですね!博士、私も色々試してみたいです。

hakase
博士

ところでロボ子、このマイクロコントローラを使って、世界征服ロボットを作ってみないか?

roboko
ロボ子

博士、それはちょっと…倫理的に問題があると思います!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search