3.7 タイプ 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 実行領域と隣接して配置されます。

armlink オプション --ro_base address を使用して、RO 出力セクションのロードアドレスおよび実行アドレスを指定します。また、--rw_base address を使用して、RW 出力セクションの実行アドレスを指定します。--ro_base オプションでアドレスが指定されていない場合、 0x8000 のデフォルト値が armlink によって使用されます。組み込みシステムの場合は、 0x0 --ro_base 値にとって一般的です。--rw_base オプションでアドレスが指定されていない場合、通常は、RW 出力セクションが RO 出力セクションのすぐ上に配置されます(タイプ 1 のイメージと同様)。

ZI 実行領域のベースアドレスを指定するには、--zi_base コマンドラインオプションを使用します。

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

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

実行専用(XO)セクションを含むイメージの場合、XO 出力セクションは --ro_base で指定されるアドレスに配置されます。RO 出力セクションと RW 出力セクションは連続して XO セクションの直後に配置されます。

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

XO セクションを含むイメージの場合、XO 実行領域は --ro_base で指定されるアドレスに配置されます。RO 実行領域は、XO 実行領域と隣接し、その直後に配置されます。

--xo_base address を使用する場合、XO 実行領域は指定のアドレスで個別のロード領域に配置されます。

関連する概念
3.1 ARM ELF イメージの構造
3.2 入力セクション、出力セクション、領域、およびプログラムセグメント
3.3 イメージのロードビューと実行ビュー
3.6 タイプ 1 のイメージ構造:1 つのロード領域と連続した実行領域
関連する参考文書
12.119 --ro_base=address
12.123 --rw_base=address
12.171 --xo_base=address
12.175 --zi_base=address
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.