3.2.3 タイプ 2 のイメージ構造:1 つのロード領域と連続しない実行領域

タイプ 2 のイメージは、1 つのロード領域と、実行ビュー内の 3 つの実行領域から構成されます。RW 実行領域と RO 実行領域は隣接していません。

この方法は、RW データが起動時に ROM から RAM にコピーされる、ROM ベースの組み込みシステムなどに使用されます。以下の図は、タイプ 2 イメージのロードビューと実行ビューを示します。
図 3-5 単純タイプ 2 のイメージ
この図を表示するには、ご使用のブラウザが SVG 形式をサポートしている必要があります。ネイティブでサポートしているブラウザをインストールするか、次のような適切なプラグインをインストールします。Adobe SVG Viewer。.

このタイプのイメージを作成するには以下のコマンドを使用します。
armlink --ro_base 0x0 --rw_base 0xA000

ロードビュー

ロードビューでは、ROM などに連続して配置された RO 出力セクションおよび RW 出力セクションによって 1 つのロード領域が構成されます。この場合、RO 領域はルート領域となりますが、RW 領域はルート領域ではありません。ロード時には ZI 出力セクションは存在しません。実行時に作成されます。

実行ビュー

実行ビューでは、最初の実行領域に RO 出力セクションが、2 番目の実行領域に RW 出力セクションと ZI 出力セクションが含まれます。
RO 出力セクションを含む領域の実行アドレスとロードアドレスは同じであるため、RO 出力セクションを移動する必要はありません。つまり、このセクションはルート領域になります。
RW 出力セクションを含む領域の実行アドレスとロードアドレスは異なるため、RW 出力セクションはロードアドレスから実行アドレスに(単一ロード領域から 2 番目の実行領域に)移動されます。ZI 実行領域とその出力セクションは、RW 実行領域と隣接して配置されます。
RO 出力セクションのロードアドレスおよび実行アドレスを指定するには、armlink オプション --ro_base address を使用します。また、RW 出力セクションの実行アドレスを指定するには、--rw_base address を使用します。--ro_base オプションを使用してアドレスを指定しない場合、armlink はデフォルト値 0x8000 を使用します。組み込みシステムの場合、--ro_base の値には 0x0 を指定するのが一般的です。--rw_base オプションでアドレスが指定されていない場合、通常は、RW 出力セクションが RO 出力セクションのすぐ上に配置されます(タイプ 1 のイメージと同様)。
ZI 実行領域のベースアドレスを指定するには、--zi_base コマンドラインオプションを使用します。

RW 出力セクションと ZI 出力セクションの実行領域は、ロード領域のどの部分とも重ねることはできません。

実行専用領域を含むイメージのロードビュー

実行専用(XO)セクションを含むイメージは、--ro_base により指定されたアドレスに XO 出力セクションが配置されます。RO および RW 出力セクションは、XO セクションのすぐ後に連続して配置されます。

実行専用領域を含むイメージの実行ビュー

XO セクションを含むイメージの場合、XO 実行領域は --ro_base で指定されるアドレスに配置されます。RO 実行領域は、XO 実行領域のすぐ後に連続して配置されます。
--xo_base address を使用する場合は、XO 実行領域は指定されたアドレスの別のロード領域に配置されます。
関連する概念
3.1 ARM ELF イメージの構造
3.1.2 入力セクション、出力セクション、領域、およびプログラムセグメント
3.1.3 イメージのロードビューと実行ビュー
3.2.2 タイプ 1 のイメージ構造:1 つのロード領域と連続した実行領域
関連する参考文書
12.118 --ro_base=address
12.122 --rw_base=address
12.170 --xo_base=address
12.174 --zi_base=address
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.