組込み・ファームウェア

多くのマイコンで、変更しない大きな表(フォントのデータなど)をconstを付けて宣言する利点として正しいものはどれか。

  1. Aフラッシュメモリに置かれ、少ないRAMを使わずに済む
  2. B表の内容が自動で圧縮される
  3. C表の内容を実行中に自由に書き換えられるようになる
答えと解説を見る

正解:A. フラッシュメモリに置かれ、少ないRAMを使わずに済む

マイコンでは、プログラムを置くフラッシュメモリが数百KBあっても、RAMは数十KBということがよくあります。constを付けない初期値つきの配列は.dataになり、起動時にフラッシュからRAMへコピーされるので、RAMを使います。constを付ければ読み取り専用のデータとしてフラッシュに置いたまま読めます。マイコンによっては、フラッシュに置くための特別な指定が必要なものもあります。

  • A. 正しい。RAMはフラッシュよりずっと小さいことが多いです。
  • B. 圧縮はされません。
  • C. constは書き換えないことを表します。
この分野を解く 分野ページへ

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

  1. JTAGやSWDといったデバッグ用のインターフェースでできることとして正しいものはどれか。
  2. 1 msごとに一定の制御の計算を行いたい。OSを使わないマイコンでの実装として最も適切なものはどれか。
  3. マイコンのブラウンアウト検出(BOD、ブラウンアウトリセット)の役割として正しいものはどれか。
  4. 割り込みに優先度を付けられるマイコンで、優先度の低い割り込みのハンドラを実行中に、優先度の高い割り込みが起きた。一般にどうなるか(割り込みのネストを許す設定とする)。
  5. C言語で、レジスタregのビット3だけを1にし、ほかのビットは変えない書き方として正しいものはどれか。