📌

RP2350 の Rust まわりの対応状況メモ(2025年4月時点)

に公開

前回これを書いてからけっこう時間が経ったので、そろそろ状況は整ってきてるのでは?という気がして調べてみます。

https://zenn.dev/yutannihilation/articles/0c349e20282821

probe-rs

probe-rs は、マイコンにプログラムを書き込んだり、プログラムをデバッグ実行したりするためのツールです。プログラムの書き込みだけなら他にもいくつか選択肢はあるんですが、probe-rs がないとプリントデバッグすらできません。

RP2350 が対応している Arm Debug Interface のバージョンは 6(ADIv6)で、probe-rs はまだこのバージョンに対応していないので使えない、というのが去年の状況でした。今年2月のリリースで、probe-rs はついに ADIv6 に対応しました。なのでこれはもう問題なしのはずです。

https://github.com/probe-rs/probe-rs/releases/tag/v0.27.0

rp-hal

rp-hal は、RP2040、RP2350 のハードウェアを制御するための crate です。rp-hal というのはレポジトリの名前で、実際に使われる crate は、それぞれ rp2040-hal、rp235x-hal です。rp235x-hal は去年見たときはまだ crates.io に公開されていませんでしたが、今は公開されています。

https://crates.io/crates/rp235x-hal

未対応だった以下の機能は、changelog を見る感じ変わってない気がします。が、これらの機能について私はよく知らないのでわかりません。

  • HSTX、TMDS encoder
  • POWMAN(Always-on timer は使える)
  • PSRAM

なぜ開発が進んでいないのかというと、やっぱり probe-rs が動かなかったのがつらそうな感じがします。逆に言うと、今はもう probe-rs を使えるので、今後はもっと開発が進んでいくのかなという予感がします。

(あと、RP2350B のサポートは、議論すら見かけないので、まだまだ世の中に出回ってないんだろうな...、という気がします)

Embassy

Embassy は去年の時点ですでに RP2350 をサポートしていました。コード例もたくさんあって、普通に使えそうな予感がします。

https://github.com/embassy-rs/embassy/tree/main/examples/rp235x/src/bin

RTIC

RTIC もすでに RP2350 をサポートしています。ただ、コード例はなさそうでした。

https://github.com/rtic-rs/rtic/pull/970

rp235x-project-template(?)

rp-rs は、RP2040 には rp2040-project-template というテンプレートレポジトリを公開しています。

https://github.com/rp-rs/rp2040-project-template

rp235x-hal が動くようになったら、RP2350 版のテンプレートレポジトリができるのかな?と思っていたのですが、見当たりません。

その理由のひとつは、RP2350 はチップ自体のサポートはあるものの、RP2350 を使った開発ボード(具体的には Raspberry Pi Pico 2 とか)のサポートがまだだというのはある気がします。

https://github.com/rp-rs/rp-hal-boards

まとめ

まだまったく手を動かしてないのでわかりませんが、基本的な使い方をする分には困らなさそうで、RP2350 専用機能とかは使えないものもありそう、という雰囲気です。

Discussion