HN🔥 21
💬 4

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

MrBuddyCasino
約1か月前

ディスカッション (3件)

1
fjfaase
約1か月前

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

2
the__alchemist
約1か月前

すごくいい記事だね!末尾のまとめについて補足なんだけど、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コマンドで制御してる感じだね。