リンカ・ローダと実行形式
組込み向けの開発で使うリンカスクリプトの役割として正しいものはどれか。
- A各セクションを、フラッシュやRAMなどのどの番地に配置するかをリンカに指示する
- Bプログラムのテストを自動で実行する手順を書く
- Cソースコードの書き方の規則を定めて、違反を知らせる
答えと解説を見る
正解:A. 各セクションを、フラッシュやRAMなどのどの番地に配置するかをリンカに指示する
パソコンのOSではローダが番地を決めますが、マイコンでは電源を入れた時点の番地がそのまま使われます。リンカスクリプトには、フラッシュとRAMの開始番地と大きさを書き、.textや定数はフラッシュに、.dataや.bss、スタックはRAMに置く、といった配置を指定します。割り込みベクタのように決まった番地に置く必要があるものも、ここで指定します。
- A. 正しい。メモリの配置を細かく決められます。
- B. テストの自動化とは別の仕組みです。
- C. それは静的解析ツールなどの役割です。