スーパーループ
最も単純なファームウェア構造。無限の while(1) ループが各タスクを順に呼び出し、列に割り込めるのは割り込みだけである。
クロックと周辺機能の設定が終わると、main() は決して戻らないループに入る。1周ごとにボタンを読み、割り込みハンドラが立てたフラグを確認し、表示を更新して、また最初に戻る。フォアグラウンド/バックグラウンドとも呼ばれ、即座に反応する割り込みがフォアグラウンド、順番が回ってきたときにそれ以外を処理するループがバックグラウンドだ。
魅力は、プログラム全体が1つの関数に収まり、思わぬ挙動をするスケジューラがないことだ。難点は、応答時間がループの最も遅い1周に等しいことで、ブロッキングの待ちが1つあれば全体が止まる。それを回避しようとして状態機械やタイムスタンプを継ぎ足し始めた人は、事実上、自前のRTOSを、しかももっと出来の悪い形で書いている。