Embassy
RTOSのスレッドの代わりに async/await を使う、組み込みRust向けのフレームワーク。
出発点は、ファームウェアの仕事の大半が「待つこと」だという認識だ。割り込み、タイマー、UARTの1バイトを待つ。RTOSでは待機中のタスクごとに専用のスタックを割り当てるが、Embassyでは各タスクが Future であり、コンパイラがサイズの確定したステートマシンに変換する。それをエグゼキュータが順番にポーリングする。実行可能なタスクがなければ、コアは次の割り込みまで WFI で眠る。低消費電力動作は、手書きのスリープ処理ではなく設計から自然に得られる。
2020年ごろにDario Nieuwenhuisが始めたプロジェクトで、STM32、NordicのnRFシリーズ、Raspberry Pi RP2040向けの独自HALに加え、ネットワークスタックとUSBスタックも備える。ライセンスはMIT/Apacheのデュアル。Rustの世界の慣例どおりだ。