ESP32-S3の第2コアでベアメタルRustをESP-IDFと共存させる

· coding · Source ↗

まとめ

  • ESP32-S3の第2 Xtensa LX7コアでベアメタルRustを動かしつつ、第1コアはESP-IDFとFreeRTOSに専念させる手法。

ポイント

  • ESP32-S3はデュアルコア構成。この手法ではコア0をESP-IDF/FreeRTOSに割り当て、コア1をRTOSオーバーヘッドなしのベアメタルRustで動かす。
  • esp-rsの非同期ランタイムや、unsafe なFreeRTOS FFIバインディングの複雑さを避けながらRustをチップ上で動かせる。
  • コア1のベアメタルRustはFreeRTOSスケジューラの干渉なしに、ハードリアルタイムやレイテンシ敏感なワークロードを処理できる。
  • ESP-IDFが持つ成熟したWiFi・BLE・ペリフェラルドライバはコア0で引き続き利用可能なため、エコシステムを失わない。
  • このパターンはS3に限らず、対称型マルチプロセッシング(SMP)をサポートするすべてのESP32バリアントに適用できる。

Hacker Newsのコメント

  • 現時点では実質的な議論なし。

Original | Discuss on HN


英語版: Running Bare-Metal Rust Alongside ESP-IDF on the ESP32-S3’s Second Core · Original source