Rust

WindowsでESP32向けRust開発環境を構築する手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

1. 必要なツールと前提条件

ツール 用途 インストール方法
MSVC C++ ビルドツール Rust の rustc が Windows 用にリンクするためのコンパイラ・ライブラリ https://visualstudio.microsoft.com/visual-cpp-build-tools/ から Build Tools for Visual Studio をダウンロードし、C++ デスクトップ開発 ワークロード(MSVC v143)を選択
Rustup / Rust stable Rust 本体・標準ツールチェーンの管理 rustup-init.exehttps://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe)を実行
ESP‑IDF Tools Installer ESP‑IDF 本体、Xtensa ツールチェーン、Python 環境の自動セットアップ https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup.htmlESP-IDF Tools Installer をダウンロード
OpenOCD(任意) JTAG/SWD デバッグサーバ – VS Code からデバッガを呼び出す際に使用 GitHub リリースページ https://github.com/openocd-org/openocd/releases から Windows 用 zip を取得し C:\OpenOCD\bin に展開
VS Code + 拡張機能 エディタ・IDE としてコード補完・デバッグを実現 https://code.visualstudio.com/ からインストールし、拡張機能 rust-analyzer, ESP‑Debugger(または Cortex‑Debug) を追加
probe‑run(probe‑rs スイート) USB‑Serial 経由で ESP32 にフラッシュ/実行デバッグを行うコマンドラインツール 後述の cargo install probe-run でインストール

ポイント
- 上記すべては管理者権限の PowerShell から実行してください。
- Python がシステムに未インストールの場合、ESP‑IDF Tools Installer が自動的にミニマルな CPython を配置しますが、別途 python.org から最新版(3.9 以上)をインストールしても問題ありません。


2. Rust 本体と組込みターゲットのセットアップ

注意
rustup target add xtensa-esp32-none-elf だけではコンパイルに必要なリンカや標準ライブラリが不足します。ESP‑IDF が提供する Xtensa ツールチェーン(上記 $env:PATH に追加したもの)と、esp-idf-sys クレートが利用できるように IDF_PATH を設定してください。


3. 補助ツールのインストール

インストール後、%USERPROFILE%\.cargo\binPATH に含まれていることを必ず確認してください。


4. VS Code のセットアップ

  1. VS Code 本体 を公式サイトからダウンロードしてインストール
  2. 拡張機能パネルで次の拡張子を検索し、Install ボタンをクリック
拡張機能 目的
rust-analyzer 高速なコード補完・診断
ESP-Debugger(または Cortex-Debug ESP32 用デバッグ設定のテンプレート提供
  1. ユーザー設定 (settings.json) に以下を追記し、OpenOCD のスクリプトパスを環境変数で柔軟に指定できるようにします。


5. OpenOCD と ESP‑IDF の設定例

5‑1. OpenOCD(任意)

launch.json で参照するパスは次のように変数化しておくと環境依存を回避できます。

5‑2. ESP‑IDF Tools Installer のインストール手順(Python 含む)

  1. 上記リンクから ESP‑IDF Tools Installer をダウンロードし実行
  2. インストーラが表示するチェックリストで “Add Python to PATH”“Install Xtensa toolchain” に必ずチェックを入れる
  3. 完了後、PowerShell で次のコマンドが成功すればインストールは完了です。


6. 実践:LED 点滅(blinky)サンプルの作成・ビルド・書き込み

6‑1. テンプレート取得

Cargo.toml の依存関係に esp-idf-sys = { version = "0", features = ["native"] } が自動で追加されます。

6‑2. ビルド(デバッグモード)

ビルドが通らない場合は次を確認してください。

エラー 原因例 対処
cannot find crate 'std' ターゲット未追加または Xtensa ツールチェーンが PATH に無い rustup target list --installed で確認し、必要なら再度 rustup target add xtensa-esp32-none-elf
リンカエラー (ld.exe: fatal error) ESP‑IDF の環境変数 IDF_PATH が未設定 $env:IDF_PATH = "$HOME\.espressif\esp-idf" を PowerShell に書き込む

6‑3. 書き込み & デバッグ(probe‑run)

probe-run は内部で esptool.py を呼び出すため、追加のスクリプトインストールは不要です。

代替手段
- cargo embed --target xtensa-esp32-none-elf --release(ARM 用に最適化された場合のみ)
- idf.py flash monitor(ESP‑IDF 標準コマンド)

6‑4. 動作確認

シリアルモニタが自動で起動し、次のようなログが表示されれば成功です。

LED が点滅すればハードウェア側も正しく接続できています。


7. トラブルシューティングまとめ

現象 主な原因 解決策
probe-run: No probes found USB ドライバが未インストール、または PowerShell が管理者権限でない デバイスマネージャで COM ポートを確認し、PowerShell を 管理者 で再起動
ビルド時に undefined reference to __wrap_* Xtensa ツールチェーンのパスが通っていない $env:PATH += ";$HOME\.espressif\tools\xtensa-esp32-elf\bin" を実行し、再度ビルド
デバッグ中に target remote :3333 がタイムアウト OpenOCD の設定ファイルパスが間違っている launch.jsonopenOcdConfig パスを ${env:HOME}/.espressif/tools/openocd-*/share/openocd/scripts/board/... に修正
Python が見つからない ESP‑IDF Installer で「Add to PATH」にチェックし忘れた python -m pip install --upgrade esptool で手動インストール、または再度インストーラを実行

8. 今後のステップ

  1. コード更新cargo build … && probe-run … のサイクルで開発
  2. 外部クレート活用(例: embedded-hal, esp-idf-svc)で Wi‑Fi や BLE も組み込む
  3. CI/CD(GitHub Actions + cross) を導入すれば Windows 以外でも同一手順でビルド可能

以上で、Windows 環境における Rust + ESP32 の開発基盤が整いました。質問や不具合は GitHub リポジトリの Issue、もしくは本稿のコメント欄からお気軽にどうぞ!

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Rust