組込み・ファームウェア

OSを使わないマイコンのプログラムでよく見られる「スーパーループ」の構成の説明として正しいものはどれか。

  1. Amainの中の無限ループで、各処理を順に呼び出し続け、急ぎの処理は割り込みで行う
  2. B処理ごとに別のプロセスを作り、OSが切り替える
  3. C1つの処理が終わるたびにマイコンを再起動する
答えと解説を見る

正解:A. mainの中の無限ループで、各処理を順に呼び出し続け、急ぎの処理は割り込みで行う

スーパーループでは、初期化の後に「while (1)」の中でセンサの読み取り、計算、表示などの処理を順番に呼び出し続けます。時間に厳しい処理は割り込みで行い、フラグでループに知らせます。OSが要らず、メモリも少なくて済み、動きも追いやすいのが利点です。ただし1つの処理が長くかかるとほかの処理がすべて遅れるので、処理が増えて複雑になるとRTOSが検討されます。

  • A. 正しい。単純で、小さなマイコンに向いています。
  • B. それはOSを使う構成です。
  • C. 再起動はしません。
この分野を解く 分野ページへ

組込み・ファームウェアのほかの問題

  1. 組込み機器でRTOS(リアルタイムOS)を使う主な目的はどれか。
  2. プリエンプティブなRTOSで、優先度の低いタスクの実行中に、優先度の高いタスクが待っていたデータを受け取って実行できる状態になった。一般にどうなるか。
  3. RTOSで起こる優先度逆転の説明として正しいものはどれか。
  4. 優先度逆転を防ぐために使われる「優先度継承」の考え方として正しいものはどれか。
  5. RTOSで、センサを読むタスクから表示するタスクへデータを渡すのに、キュー(メッセージキュー)を使う利点として正しいものはどれか。