🦆

Rust の Raspberry Pi Pico 開発環境をWindows ローカルPCに構築する

2023/08/14に公開

はじめに

2023年8月14日時点におけるRaspberry Pi Pico用の環境構築からLチカまでを書きました。
Windowsユーザーとして日々環境構築に苦戦しているので、自分が読み返したくなる内容をまとめました。
読者の皆さんの参考になれば幸いです。

結論

クローンすればすぐに使えるよう微修正したテンプレートへのリンクを掲載します。

https://github.com/Tremendous1192/rp2040-by-rust-templete

修正履歴

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

テンプレートのダウンロード

  1. ViewタブからCommand Palleteを起動してGit: Cloneコマンドで https://github.com/Tremendous1192/rp2040-project-template をダウンロードします。
  2. テンプレートのディレクトリに移動します。(cd --)

Raspberry pi pico などハードウェアの準備

購入

私は初心者なのでピンヘッダ実装済のRaspberry Pi Picoを買いました。

ブートローダーモード

  1. ブレッドボード上にRaspberry Pi Picoとタクトスイッチを設置します。
  1. USBケーブルでPCとRaspberry Pi Picoを繋げます。
  2. ブートローダーモードに切り替えます。(Raspberry Pi PicoのBOOTSELスイッチとタクトスイッチを押しながら、タクトスイッチ、BOOTSELスイッチの順に手を放します)

プログラム実行(Lチカ)

  1. Lチカプログラムのディレクトリに移動します。
  2. Raspberry Pi Picoをブートローダーモードに切り替えます。
  3. 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