8.4.4 実行領域のアドレス属性の継承規則

実行領域は、前の実行領域から属性を継承できます。

実行領域に、その前の実行領域の属性を継承させるには、その領域の +offset ベースアドレスを指定します。最初の +offset 実行領域は、親ロード領域から属性を継承できます。次の条件に該当する場合、実行領域は属性を継承できません。
  • 実行領域の属性を明示的に設定した。
  • 前の実行領域に OVERLAY 属性が設定されている。
実行領域には ABSOLUTEPI、または OVERLAY 属性を明示的に設定できます。ただし、実行領域は、親ロード領域からのみ RELOC 属性を継承できます。
以下の継承規則は、アドレス属性が指定されない場合に適用されます。
  • OVERLAY 属性は継承できません。 OVERLAY 属性を持つ領域は継承できません。
  • ベースアドレスのロード領域または実行領域は常に ABSOLUTE がデフォルトになります。
  • +offset 実行領域はアドレス属性を前の実行領域から継承します。前の実行領域が存在しない場合は、親ロード領域から継承します。

次の例は、実行領域のアドレス属性を設定するときの継承規則を示しています。
LR1 0x8000 PI
{
    ER1 +0         ; ER1 は PI を LR1 から継承する
    {
        …
    }
    ER2 +0         ; ER2 は PI を ER1 から継承する
    {
        …
    }
    ER3 0x10000    ; 相対ベースアドレスを持たないため、ER3 は何も継承せず、
                     デフォルトの ABSOLUTE を取得する
    {
        …
    }
    ER4 +0         ; ER4 は ABSOLUTE を ER3 から継承する
    {
        …
    }
    ER5 +0 PI      ; ER5 は何も継承せず、明示的に PI を設定する
    {
        …
    }
    ER6 +0 OVERLAY ; ER6 は何も継承しない。OVERLAY は継承できない
    {
        …
    }
    ER7 +0        ; ER7 は OVERLAY を継承できず、デフォルトの ABSOLUTE を取得する
    {
        …
    }
}
関連する概念
8.4.5 実行領域に相対アドレス +offset を使用する際の注意事項
7.6 オーバーレイを使用したセクションの配置
8.3.6 ロード領域に相対アドレス +offset を使用する際の注意事項
8.3.4 ロード領域のアドレス属性の継承規則
関連する参考文書
8.3.1 ロード領域の記述に含まれているコンポーネント
8.4.1 実行領域の記述に含まれているコンポーネント
8.4.3 実行領域の属性
8.4.2 実行領域の記述に含まれている構文
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.