ESP32-S3の「Hello World」Rust Bare Metalアプリケーションを作成、ビルド、フラッシュ、シミュレートする方法

Rustは、リソースが限られているMCUのような組み込みデバイスの開発において非常に優れたプログラミング言語です。特に、Bare Metal(別名no_std)は多くの利点をもたらし、完全にRustでアプリケーションを作成することを可能にします。 以下の手順では、ESP32-S3-BOX-3やM5Stack CoreS3のような多くのDevKitに含まれているESP32-S3向けのアプリケーションを作成、ビルド、フラッシュ、およびシミュレートする方法を説明します。 いくつかのツールをインストールする必要があります。 まず最初に、Rust自体をインストールする必要があります。rustupを使用します。 追加のツールがいくつか必要です。ソースコードからのインストールには`cargo install`を使用できますが、より速い方法はcargo-binstallを使用することで、ツールのバイナリをデプロイし、ソースコードからのインストールに比べて時間を節約できます。 ここで、追加のツールをインストールできます: espup – Espressif Rustエコシステムのインストールと管理のためのツール。 cargo-generate – テンプレートからRustプロジェクトを作成するツール。 espflash – Espressif SoCおよびモジュール用のシリアルフラッシュユーティリティ。Pythonベースのesptool.pyのRustによる置き換え。 ESP32-S3をターゲットにしているため、Xtensaアーキテクチャに基づくRust Xtensaツールチェーンが必要です。これを別途インストールする必要があります。注:ESP32-S3以降に導入されたESP32-C3のようなRISC-Vアーキテクチャに基づくチップでは、この依存関係は必要ありません。 ここで、cargo-generateを使用してesp-rs/esp-templateのBare Metalテンプレートを使用してプロジェクトを生成できます。ツールはいくつかの質問をします。推奨設定は次のとおりです: プロジェクト`embedded-rust`が作成されたら、ビルドとフラッシュの準備が整いました。 […] Read More