🦆
Rust の Raspberry Pi Pico 開発環境をWindows ローカルPCに構築する
はじめに
2023年8月14日時点におけるRaspberry Pi Pico用の環境構築からLチカまでを書きました。
Windowsユーザーとして日々環境構築に苦戦しているので、自分が読み返したくなる内容をまとめました。
読者の皆さんの参考になれば幸いです。
結論
クローンすればすぐに使えるよう微修正したテンプレートへのリンクを掲載します。
修正履歴
2023/9/25 文章の修正
2023/9/26 テンプレートの更新
組込みRustの環境構築
Visual Studio Community
C++ツールをインストールします。
- NET デスクトップビルドツール
- C++ によるデスクトップ開発
- ユニバーサル Windows プラットフォームビルドツール
rustup
Rustのビルドツールをインストールします。
1) Proceed with installation (default)
で進めます。
VS Code
左側のExtentions(拡張機能)から次の拡張機能をダウンロードします
rust-analyzer
CodeLLDB
GitHub Pull Requests and Issues
Choose a License
Raspberry pi pico のビルドツール
VS CodeのTerminalで次のコマンドを実行します。
rustup target install thumbv6m-none-eabi
cargo install flip-link elf2uf2-rs
テンプレートのダウンロード
-
View
タブからCommand Pallete
を起動してGit: Clone
コマンドでhttps://github.com/Tremendous1192/rp2040-project-template
をダウンロードします。 - テンプレートのディレクトリに移動します。(
cd --
)
Raspberry pi pico などハードウェアの準備
購入
私は初心者なのでピンヘッダ実装済のRaspberry Pi Picoを買いました。
- RPI-PICO-H 【ピンヘッダ実装済】Raspberry Pi Pico H
- (データ転送可)USBケーブル A-microBタイプ
- ブレッドボード
- タクトスイッチ
ブートローダーモード
- ブレッドボード上にRaspberry Pi Picoとタクトスイッチを設置します。
- タクトスイッチはResetの30番とGndの28番を繋げます。
- USBケーブルでPCとRaspberry Pi Picoを繋げます。
- ブートローダーモードに切り替えます。(Raspberry Pi PicoのBOOTSELスイッチとタクトスイッチを押しながら、タクトスイッチ、BOOTSELスイッチの順に手を放します)
プログラム実行(Lチカ)
- Lチカプログラムのディレクトリに移動します。
- Raspberry Pi Picoをブートローダーモードに切り替えます。
- VS CodeのTerminalで
cargo run --release
コマンドを実行すればLチカできます。
おまけ
テンプレートのファイル構成を下記に記します。
最近学んだことですが、PCだとDevビルドでも速度に不満を持つことは少ないですが、組込みの場合目に見えて処理が遅くなります。
そこでbuild.rs
ファイルとmemory.x
ファイルでRaspberry Pi Picoのメモリ情報をコンパイラに提供してプログラムの最適化を行います。
- /.cargo
- config.toml - ARM製CPU thumbv6m-none-eabi 向け
- /.vscode - 不明
- main.rs - メイン関数
- / src
- .gitignore - GitHub連携
- APACHE2.0 - ライセンス
- Cargo.toml - 基本設定
- Embed.toml - 不明
- MIT - ライセンス
- README.md
- build.rs - メモリ最適化(1/2)
- debug_probes.md - 2台用いてのデバッグの説明
- memory.x - メモリ最適化(2/2)
Discussion