ESP32アプリケーションのクラッシュ i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

ESP-IDF 5.3以上でコンパイルされたアプリケーションは、実行時に次のメッセージとともに失敗する可能性があります: 問題は、古いバージョンのI2Cドライバを使用している互換性のないBSP(ボードサポートパッケージ)によって引き起こされます。 解決策は、次の依存関係をidf_component.yamlに追加することです: アプリケーションを再構築すれば、問題は解決されるはずです。

Windows Terminalでタブを切り替える方法

Windows Terminalは、CMD、PowerShell、LinuxをWSL2で実行できる非常に多用途なWindows用シェルです。ターミナルはタブもサポートしています。 タブを切り替えるには、以下を使用できます: CTRL+Tab – 次のタブに切り替える CTRL+Shift+Tab – 前のタブに切り替える CTRL+PgUpやCTRL+PgDownなど、自分のキーボードショートカットを使用したい場合は、CTRL+,を押して設定を開き、左ペインからアクションを選択します。 次のタブの項目を見つけて、ctrl+pgdnに設定します。 前のタブの項目を見つけて、ctrl+pgupに設定します。 JSONで設定を編集することもできます。actionsセクションに次のコードを追加します: 変更を適用するには、保存をクリックすることを忘れないでください。

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

Rust ESP32-S3 ビルド問題: xtensa-lx-rt (lib) をコンパイルできませんでした

ESP32-S3用のRustプロジェクトをコンパイルする際に、次のエラーが発生することがあります: Rustはエラーメッセージに非常に役立ちますが、何が問題なのかを特定するのはかなり難しいです。 基本的に、この問題はXtensaターゲットを使用しているESP32-S3用のプロジェクトをビルドする際に、以下のファイルが欠けている場合に発生します:.cargo/config.toml