8.4 ロード領域記述の構文

ロード領域には、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 ロード領域の記述
8.10 ロード領域に相対アドレス +offset を使用する際の注意事項
8.12 ロード領域のアドレス属性の継承規則
8.20 スキャッタファイル内の式の評価
関連する参考文書
8.5 ロード領域の属性
8.9 ロード領域と実行領域のアドレス属性
8.1 スキャッタロード記述構文で使用される BNF 記法
8.2 スキャッタファイルの構文
6.3 領域関連シンボル
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.