3.2.1 単純イメージのタイプ

リンカが作成できる単純イメージのタイプは、ロード領域と実行領域における出力セクションの配置によって異なります。

タイプは以下のとおりです。
タイプ 1
ロードビューには 1 つの領域、実行ビューには 4 つの連続領域が存在します。このタイプのイメージを作成する場合は、--ro_base オプションを使用します。
すべての XO セクションは、--ro_base が指定するアドレスの ER_XO 領域に配置されます。ER_RO 領域は ER_XO 領域のすぐ後に続きます。
タイプ 2
ロードビューには 1 つの領域、実行ビューには 4 つの連続しない領域が存在します。このタイプのイメージを作成する場合は、--ro_base オプションおよび --rw_base オプションを使用します。
タイプ 3
ロードビューには 2 つの領域、実行ビューには 4 つの連続しない領域が存在します。このタイプのイメージを作成する場合は、--ro_base オプション、--rw_base オプション、および --split オプションを使用します。
--xo_base が指定されていない場合のすべての単純イメージタイプは、次のようになります。
  • いずれかの XO セクションが存在する場合、最初の実行領域には XO 出力セクションが含まれています。--ro_base によって指定されるアドレスは、この出力セクションのベースアドレスとして使用されます。
  • 2 番目の実行領域には RO 出力セクションが含まれます。この出力セクションは、XO 出力のすぐ後にきます。
  • 3 番目の実行領域には RW 出力セクションが含まれます(存在する場合)。
  • 4 番目の実行領域には ZI 出力セクションが含まれます(存在する場合)。
これらの実行領域は、それぞれ XO 実行領域、RO 実行領域、RW 実行領域、ZI 実行領域と呼ばれます。
--xo_base を指定する場合、XO セクションは別のロード領域および実行領域に配置されます。
ただし、タイプ 3 のイメージでは、--rosplit オプションを使用することもできます。このオプションは、デフォルトのロード領域を、コードに 1 つ、データに 1 つ、合計 2 つの RO 出力セクションに分割します。
また、タイプ 1 とタイプ 2 のイメージでは、--zi_base コマンドラインオプションを使用して、ZI 実行領域のベースアドレスを指定できます。タイプ 3 のイメージに必要な --split コマンドラインオプションも使用した場合、このオプションは無視されます。
単純イメージはスキャッタファイルを使用して作成することもできます。
関連する概念
7.13 等価なスキャッタロード記述を使用した単純イメージの生成
3.2.2 タイプ 1 のイメージ構造:1 つのロード領域と連続した実行領域
3.2.3 タイプ 2 のイメージ構造:1 つのロード領域と連続しない実行領域
3.2.4 タイプ 3 のイメージの構造:複数のロード領域と連続しない実行領域
関連する参考文書
12.118 --ro_base=address
12.120 --rosplit
12.122 --rw_base=address
12.125 --scatter=filename
12.135 --split
12.170 --xo_base=address
12.174 --zi_base=address
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.