2026年7月24日(金)掲載 2,930本日 30
HN214

ESP32-S3のデュアルコア活用術:ESP-IDFとベアメタルRustを同時並行で走らせる方法

Running Bare-Metal Rust Alongside ESP-IDF on the ESP32-S3's Second Core

MrBuddyCasino3か月前

議論

3
1fjfaase3か月前

適切な優先度を設定して(一部の機能を無効化すれば)、コア1上で単一のタスクを干渉なしで実行できると思うよ。

2the__alchemist3か月前

すごくいい記事だね!末尾のまとめについて補足なんだけど、ESP-IDFとFreeRTOSでWi-Fi、BLE、システムタスクをコア0に任せて、コア1でベアメタルのRustコードをスケジューラーの干渉ゼロでフルスピード実行するっていう構成、これの少し違うアプローチをやってるよ。コアを分けるんじゃなくてMCUごと分ける方法なんだけど、ESP-32(C3でもS3でもいける)にEsp-Hosted-MCUを書き込んでるんだ。これ公式のファームウェアで、ESPを「無線コプロセッサ」にできるから、SPIかUART接続のWi-Fi/BLEチップみたいに扱えるようになるよ。別のMCU(STM32)側ではRustでベアメタルのファームウェアを動かして、SPI経由で無線と通信してる。Wi-FiはESP IDFを使って、BLEは標準のHCIコマンドで制御してる感じだね。