3.8 タイプ 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 バイト境界で整列された address (例えば、ROM の最初の場所のアドレス)を設定するように armlink に指示します。--ro_base オプションでアドレスが指定されていない場合、 0x8000 のデフォルト値が armlink によって使用されます。

--rw_base address

armlink に指示をして、RW 出力セクションを含む領域の実行アドレスに、4 バイト境界で整列された address を設定します。このオプションを --split と共に使用すると、RW 領域(ルート領域など)のロードアドレスと実行アドレスの両方が指定されます。

--split

RO 出力セクションおよび RW 出力セクションを含むデフォルトの 1 つのロード領域が、以下の 2 つのルートロード領域に分割されます。

  • RO 出力セクションを含む領域。

  • RW 出力セクションを含む領域。

これらの領域は、--ro_base および --rw_base を使用して別々に配置できます。

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

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

--split を使用すると、一方のロード領域には XO 出力セクションと RO 出力セクションが含められ、もう一方のロード領域には RW 出力セクションが含められます。

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

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

--split を指定すると、最初のロード領域に XO 実行領域と RO 実行領域が、2 番目のロード領域に RW 実行領域と ZI 実行領域が配置されます。

--xo_base address を指定した場合、XO 実行領域は RO 実行領域とは別のロード領域にある特定のアドレスに配置されます。

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