Rust

rustupで最新ツールチェーンをインストール・更新する方法(2026年版)

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

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


スポンサードリンク

Rust 2026 年版 エンベデッド開発環境構築ガイド

本稿は 2026 年 7 月時点で利用可能な公式ツール(rustup 1.27.0、rustc 1.78.0、cargo 1.78.0)を前提にしています。バージョン番号は rustup --versionrustc --version で確認できます。


rustup のインストールと更新

rustup は Rust エコシステム全体を管理する公式ツールです。OS 毎に個別のバイナリをダウンロード・保守する手間が省け、rustup update だけで stablenightly の最新コンパイラを取得できます。本セクションでは、安全かつ将来的なリンク切れリスクを最小化したインストール方法と、定期的な更新フローを解説します。

インストーラ取得方法

公式のリダイレクトページ https://rustup.rs から取得すれば、URL が変わっても常に最新のインストーラが提供されます。以下は OS 別の手順です。

Windows

Windows では 64bit MSVC ビルドを推奨します。

  1. ブラウザで https://rustup.rs にアクセスし、“Download rustup‑init.exe” をクリック(リンクは常に最新版へリダイレクト)。
  2. ダウンロードした rustup-init.exe を安全なフォルダー(例: C:\Program Files\rustup)に保存します。
  3. 管理者権限でコマンドプロンプトを開き、次のコマンドを実行してインストールします。

cmd
C:\Program Files\rustup\rustup-init.exe -y --no-modify-path

Linux / macOS

シェルスクリプトは TLS 1.2 以上で暗号化された接続を使用し、途中で改ざんされる危険がありません。

インストーラは自動的に OS とアーキテクチャを判別し、~/.cargo/binrustc, cargo, rustup を配置します。

デフォルトツールチェーンと定期的なアップデート

インストール直後のデフォルトは stable ですが、プロジェクトごとに別バージョンを指定できます。また、月に一度の更新がベストプラクティスです。

デフォルトツールチェーンの確認・変更

定期的な更新手順

ポイントrustup update はインストール済み全ツールチェーンとコンポーネント(例: llvm-tools-preview)を同時に更新します。手動で個別にアップデートする必要はありません。


組み込みターゲットの追加とサイズ最適化

組み込み開発では、デスクトップ向けツールチェーンだけではビルドできない thumb 系や riscv 系のトリプルを追加する必要があります。ここでは代表的なターゲット導入例と、バイナリサイズを 30 KB 前後に抑えるための Cargo 設定をご紹介します。

ターゲット追加例

以下のコマンドは 一度だけ 実行すれば、以降は cargo build --target <triple> が利用可能になります。

ターゲット 主なボード例 追加コマンド
thumbv7em-none-eabihf STM32F4 系(Cortex‑M4, ハードウェア FPU) rustup target add thumbv7em-none-eabihf
riscv32imac-unknown-none-elf ESP‑C3、GD32V 系 RISC‑V 32bit MCU rustup target add riscv32imac-unknown-none-elf

ポイント:ターゲット追加はローカル環境に対してのみ行われます。CI 環境でも同様に rustup target add … を最初のステップで実行してください。

cargo‑binutils と llvm‑tools‑preview の導入

組み込みバイナリのサイズ測定や逆アセンブルには、llvm-tools-preview コンポーネントと cargo-binutils が必須です。2026 年版では次の手順でインストールできます。

インストール後に利用できる主なサブコマンドは以下の通りです。

  • cargo size --target <triple>.text/.data/.bss のサイズレポート
  • cargo objdump --target <triple> -d … ディスアセンブル結果

ビルドプロファイルでのサイズ削減設定

Cargo.toml に以下を追記すると、リリースビルド 時にサイズ最適化とパニックハンドラの軽量化が自動的に有効になります。

結論opt-level = "z"panic = "abort" の組み合わせで、典型的な Cortex‑M4F アプリは 30 KB 前後に収まります。サイズが更に厳しい場合は、使用しないライブラリの除去や -C link-arg=-nostartfiles 等を検討してください。


デバッグプローブと IDE 統合(VS Code・RustRover)

probe‑rs 系ツールは J‑Link、ST‑Link、OpenOCD、DAPLink など多様なデバッガを 単一コマンド で扱える点が最大の魅力です。本節ではインストールから VS Code と RustRover の設定まで、実際に手を動かす手順を示します。

probe‑rs / cargo‑embed のインストールと基本設定

Embed.toml に記述するプローブ別設定例

ポイントEmbed.toml はリポジトリルートに置くだけで、cargo embed flash が自動的に対象ボードを認識します。

実行例:

VS Code 用拡張とデバッグ構成例

  1. 拡張インストール
  2. Marketplace から rust-analyzercortex-debugEmbedded Debugger を追加。自動更新はデフォルトで有効です。

  3. settings.json の推奨設定(共通部分)

  1. launch.json のデバッグ構成(STM32F4 + J‑Link)

RustRover での組み込みデバッグ構成例

JetBrains 製 IDE の RustRover は、cargo embed を直接呼び出す Run/Debug Configuration が用意されています。

  1. 新規 Cargo 構成作成
    Run → Edit Configurations → + → Cargo

  2. 必須項目

項目 設定例
Command embed --probe jlink flash
Working directory プロジェクトのルート ($PROJECT_DIR$)
Environment variables RUST_LOG=info;PROBE_RS_DEBUG=1
  1. 実行
    Run ボタンを押すと、RustRover のコンソールに probe‑rs のログが出力され、VS Code と同様にブレークポイントが有効になります。

結論:probe‑rs/cargo‑embed が提供する統一インタフェースのおかげで、IDE に依存せず J‑Link・ST‑Link・OpenOCD・DAPLink をシームレスに切り替えられます。


サンプルプロジェクトのビルド・フラッシュ手順

以下は公式テンプレートリポジトリ(https://github.com/rust-embedded/template)をベースにした、代表的な 3 ボード向け手順です。どれも cargo embed flash が動作すればすぐに実機で LED 点滅や UART エコーが確認できます。

STM32F4(Cortex‑M4, ハードウェア FPU)

ESP‑C3(RISC‑V 32bit, 無 OS)

nRF52840(Bluetooth 5, Cortex‑M4F)

ポイント:各サンプルの src/main.rs に「LED 点滅 + UART エコー」実装が入っているので、ビルド・フラッシュ後にボード上で LED が点灯し、シリアルターミナルにエコーバックが出れば成功です。


CI/CD パイプラインとトラブルシューティング

自動化は品質向上とデリバリー速度の鍵です。ここでは GitHub Actions と cargo xtask を組み合わせた 埋め込み向け CI の最小構成例と、よくあるエラーへの対処法をまとめます。

GitHub Actions + cargo‑xtask の例

リポジトリのルートに xtask/ ディレクトリを作り、以下のようなシンプル CLI(src/main.rs)を実装します。例ではビルドだけを行うタスクです。

.github/workflows/ci.yml

同様に build-esp-c3 ジョブを追加すれば、RISC‑V ボードの CI も完成します。cargo xtask にテスト実行やフラッシュ(ハードウェアが必要な場合は自ホストランナー)を組み込めば、ローカルと同一コマンド が CI でも走ります。

典型的なエラーと対策チェックリスト

エラーシナリオ 主な原因 推奨対策
undefined reference to __aeabi_* 標準ライブラリが正しくリンクされていない rustup component add llvm-tools-preview 再インストール → -C link-arg=-nostartfiles でリンカオプションを確認
probe.rs: No probe found USB デバイス未認識/ドライバ不足 Windows は Zadig で WinUSB ドライバを付与、Linux/macOS は lsusb でデバイス確認 → 必要なら /etc/udev/rules.d/99-probe-rs.rules を作成
.bss がフラッシュ領域に配置される カスタムリンカスクリプトが未適用 プロジェクトルートに memory.x を置き、link-args = ["-T", "memory.x"][target.<triple>.rustflags] に追加
cargo embed がタイムアウトする プローブのファームウェアが古い cargo install --force probe-rs-cli で最新版取得 → 製造元サイトから最新ファームウェア(例: Segger J‑Link 7.80)を適用
CI 上で rustup target add … が失敗する ネットワーク制限またはキャッシュ破損 rustup update && rustup self update を先行実行 → rm -rf $HOME/.cargo/registry で再取得

結論:CI 前にローカルで上記チェックリストを一度走らせ、エラーが無いことを確認すれば、GitHub Actions のビルドは安定します。問題が発生した場合は公式 issue や probe-rs の GitHub Discussions を参照してください。


まとめ

項目 主なポイント
rustup https://rustup.rs 経由で取得し、rustup update だけで stable と nightly が常に最新。バージョンは rustup 1.27.0 / rustc 1.78.0(2026‑07)。
組み込みターゲット rustup target add … により一度の追加で永続利用。cargo-binutils + llvm-tools-preview がサイズ測定に必須。
サイズ最適化 opt-level = "z"panic = "abort"、LTO 有効で 30 KB 前後のバイナリを実現。カスタムリンカスクリプト (memory.x) がメモリ配置の鍵。
デバッグプローブ probe‑rs / cargo‑embed が J‑Link・ST‑Link・OpenOCD・DAPLink を統一インタフェースで制御。VS Code と RustRover の設定例を掲載。
サンプルビルド STM32F4、ESP‑C3、nRF52840 各ボードのクローン → ターゲット追加 → cargo build --releasecargo embed flash で即実機確認可能。
CI/CD GitHub Actions + cargo‑xtask による自動ビルドパイプラインを提示。典型的エラーと対策チェックリストでトラブルシュートが容易に。

これらの手順を踏むことで、2026 年版の Rust エンベデッド開発環境 が安全かつ再現性高く構築できます。まずは rustup のインストールから始め、サンプルプロジェクトで「LED 点滅」を確認したら、本格的なファームウェア開発へと移行してください。 Happy hacking!

スポンサードリンク

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


-Rust