8.3.2 ロード領域記述の構文

ロード領域には、1 つ以上の実行領域の記述を含むことができます。

バッカスナウア記法(BNF)によるロード領域の記述の構文は、次のとおりです。
load_region_description ::=
  load_region_name  (base_address  | ("+" offset)) [attribute_list] [max_size]
       "{"
          execution_region_description+
       "}"
各項目には以下の意味があります。
load_region_name
ロード領域の名前。引用符で囲んだ名前を使用できます。名前に大文字と小文字の区別があるのは、領域関連のリンカ定義シンボルを使用した場合のみです。
base_address
領域内のオブジェクトがリンクされるアドレスを指定します。 base_address は、ロード領域の整列制約を満たしている必要があります。
+offset
前のロード領域の終わりから offset バイト離れたベースアドレスを指定します。 opt の値 offset には 4 で割った余りが 0 になる値を指定する必要があります。これが最初のロード領域の場合、+offset はベースアドレスがゼロから offset バイトで開始するという意味です。
+offset を使用した場合、ロード領域は前のロード領域から特定の属性を継承することがあります。
attribute_list
ロード領域の内容の特性を指定する属性です。
max_size
ロード領域の最大サイズを指定します。これは、展開やゼロ初期化が発生する前のロード領域のサイズです。オプションの max_size 値を指定する場合、 領域が割り当てられた max_size バイトよりも大きいと、 armlink はエラーを生成します。
execution_region_description
実行領域の名前、アドレス、および内容を指定します。

BNF の定義では、読みやすくするために改行とスペースが挿入されています。改行とスペースはスキャッタロード記述では必須ではなく、スキャッタファイル内に存在している場合は無視されます。
関連する概念
8.3.5 RELOC アドレス属性の継承規則
8.3.6 ロード領域に相対アドレス +offset を使用する際の注意事項
8.3.4 ロード領域のアドレス属性の継承規則
8.6 スキャッタファイル内の式の評価
関連する参考文書
8.3.1 ロード領域の記述に含まれているコンポーネント
8.3.3 ロード領域の属性
8.1 スキャッタロード記述構文で使用される BNF 記法
8.2 スキャッタファイルの構文
6.3 領域関連シンボル
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.