組込み・ファームウェア

無線でファームウェアを書き換える(OTA更新)機器で、フラッシュメモリにファームウェアを置く場所を2つ(A面とB面)用意する理由として正しいものはどれか。

  1. A2つの面で同じプログラムを同時に動かして、速さを2倍にするため
  2. B片方の面を、利用者の写真の保存に使うため
  3. C新しいファームウェアをもう一方の面に書き、途中で失敗しても元の面で起動し直せるようにするため
答えと解説を見る

正解:C. 新しいファームウェアをもう一方の面に書き、途中で失敗しても元の面で起動し直せるようにするため

動いているファームウェアの上に直接書き込むと、途中で電源が切れたり通信が途切れたりしたときに、起動できなくなります。2面の方式では、使っていない面に新しいファームウェアを書き込み、正しく書けたことを確かめてから起動する面を切り替えます。新しい版で起動に失敗したら、ブートローダが元の面に戻します。容量が2倍要る代わりに、安全に更新できます。

  • A. 同時に動かすわけではありません。
  • B. ファームウェアのための領域です。
  • C. 正しい。更新の失敗で機器が動かなくなるのを防ぎます。
この分野を解く 分野ページへ

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

  1. 電池で動く組込み機器で、マイコンのスリープモードを使う主な目的はどれか。
  2. あるセンサ機器は、全体の1%の時間だけ10 mAで動き、残りの99%の時間は10 µAで眠っている。平均の消費電流に最も近いものはどれか。
  3. 小さなマイコンのファームウェアで、mallocなどの動的なメモリの確保を避けることが多い理由として正しいものはどれか。
  4. MMUを持たない小さなマイコンで、スタックの使いすぎについて注意すべきこととして正しいものはどれか。
  5. 基準電圧3.3 Vの12ビットのADコンバータで、読み取った値が2048だった。入力の電圧に最も近いものはどれか。