3.2.4 タイプ 3 のイメージの構造:複数のロード領域と連続しない実行領域

タイプ 3 のイメージはタイプ 2 のイメージと似ていますが、このイメージでは 1 つのロード領域は複数のルートロード領域に分割されます。

以下の図は、実行専用(XO)コードがないタイプ 3 イメージのロードビューと実行ビューを示しています。
図 3-6 単純タイプ 3 のイメージ
この図を表示するには、ご使用のブラウザが SVG 形式をサポートしている必要があります。ネイティブでサポートしているブラウザをインストールするか、次のような適切なプラグインをインストールします。Adobe SVG Viewer。.

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

ロードビュー

ロードビューでは、最初のロード領域が RO 出力セクションで構成され、2 番目のロード領域が RW 出力セクションで構成されます。ロード時には ZI 出力セクションは存在しません。ZI 出力セクションは、実行前にイメージファイル内の出力セクションの記述を使用して作成されます。

実行ビュー

実行ビューでは、最初の実行領域に RO 出力セクションが、2 番目の実行領域に RW 出力セクションが、3 番目の実行領域には ZI 出力セクションが含まれます。
RO 領域の実行アドレスはロードアドレスと同じであるため、RO 出力セクションの内容をロードアドレスから実行アドレスに移動またはコピーする必要はありません。RO 領域と RW 領域はどちらもルート領域となります。
また、RW 領域の実行アドレスもロードアドレスと同じであるため、RW 出力セクションの内容はロードアドレスから実行アドレスに移動されません。ただし、ZI 出力セクションは実行時に作成され、RW 領域と隣接して配置されます。
ロードアドレスと実行アドレスは、以下のリンカオプションを使用して指定します。
--ro_base address
アドレスに、RO セクションを含む領域のロードアドレスと実行アドレスを 4 バイト境界で整列された armlink (例えば、ROM の最初の場所のアドレス)に設定するように指示します。--ro_base オプションを使用してアドレスを指定しない場合、armlink はデフォルト値 0x8000 を使用します。
--rw_base address
RW 出力セクションを含む領域の実行アドレスに、4 バイト境界で整列された address を設定するように armlink に指示します。--split と共にこのオプションを使用すると、RW 領域(ルート領域など)のロードアドレスと実行アドレスの両方が指定されます。
--split
RO 出力セクションおよび RW 出力セクションを含むデフォルトの 1 つのロード領域が、以下の 2 つのルートロード領域に分割されます。
  • RO 出力セクションを含む領域。
  • RW 出力セクションを含む領域。
これらの領域は、--ro_base および --rw_base を使用して別々に配置できます。

XO セクションを含むイメージのロードビュー

XO セクションを含むイメージの場合、XO 出力セクションは --ro_base で指定されるアドレスに配置されます。RO および RW 出力セクションは、XO セクションのすぐ後に連続して配置されます。
--split を使用する場合、1 つのロード領域には XO および RO 出力セクションが含まれ、もう 1 つのロード領域には RW 出力セクションが含まれます。

XO セクションを含むイメージの実行ビュー

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