🎄IPFactory Advent Calendar2024_22日目🎄
はじめに
この記事では、Raspberry Pi Pico と Rust(no_std) で開発し、Wokwi で動かす方法を紹介します!
「手元にハードウェアがないけど試したい!」なんて時に Wokwi はめちゃくちゃ便利なので、備忘録としてまとめてみました。
そもそも、なぜこの記事を?
今年、某キャンプの探査機自作ゼミで Raspberry Pi Pico × Rust(no_std) の組み込み開発をやっていました。
その際先生に、シミュレーターとして Wokwi をおすすめされ、以前から存在を知ってはいたけど、改めて結構便利に感じたのでその時の環境構築を記事にしてみました!
環境
- PC:Win10
- VSCode
- Wokwi
- Rust
Rust のセットアップ
Rust の環境構築には rustup を使うのが一番簡単です!
詳しくは 公式ドキュメント をご確認ください。
1. pico-wokwi-playground
をclone
便利なリポジトリはこちら
とりあえずclone
してhello-blinky-rs
に移動しておきましょう!
git clone https://github.com/sksat/pico-wokwi-playground.git
cd pico-wokwi-playground/hello-blinky-rs
2. Wokwi Simulator
のインストール
3. 必要ツールをインストール
以下のコマンドを叩いて、必要なツールをインストールしていきます
cargo install probe-rs-tools
cargo install flip-link
cargo install elf2uf2-rs
rustup target add thumbv6m-none-eabi
また、Cmake
が入ってなければインストールします。
(無いとbuildできない...)
4. とりあえずbuildしてみる
あらかじめCtrl+Shift+B
でbuildできるように設定されてる
5. Wokwi Simulator で動きを見てみる
Ctrl+Shift+P
でコマンドパレットを開いて、Wokwi: Start Simulator
を選択
すると、Wokwi Simulator
が起動する!
...と思いきや、なんか出てきて起動しない~(初回のみ)
6. ライセンスの登録
とゆーことで、ライセンスを適応させます。
7. 再度、Wokwi Simulator で動きを見てみる
Wokwi: Start Simulator
を選択してシミュレーターを起動すると...
Hello, world!
EX1. ここからどう進める?
プログラムに関しては main.rs
を編集すればよいが、回路に関しては、diagram.json
をWokwiにインポートして編集する必要がある。(jsonを無理やり手書きしても良いが結構面倒)
おそらく、wokwiの公式サイトで各パーツの説明を見たほうが絶対に早い
Ex2. ちょっとした例
例えばこんな感じにもできる