実行領域の記述に含まれている構文

バッカスナウア記法(BNF)による実行領域の記述の構文は、次のとおりです。

execution_region_description ::= 

  exec_region_name (base_address | "+" offset) [attribute_list] [max_size | length]
        "{" 
            input_section_description* 
        "}"

各項目には以下の意味があります。

exec_region_name

実行領域の名前を指定します。

base_address

領域内のオブジェクトがリンクされるアドレスを指定します。base_address は、ワード境界で整列させる必要があります。

Note

実行領域に対して ALIGN を使用すると、ロードアドレスと実行アドレスの両方が整列されます。

+offset

前の実行領域の終わりから offset バイト離れたベースアドレスを指定します。 offset には 4 で割った余りが 0 になる値を指定する必要があります。

これがロード領域内の最初の実行領域である場合には、+offset は、ロード領域のベースから offset バイト離れた位置でベースアドレスが開始することを意味します。

+offset を使用した場合、実行領域は、親ロード領域か、同じロード領域内の前の実行領域から特定の属性を継承することがあります。

attribute_list

実行領域の内容の特性を指定する属性です。

max_size

EMPTY または FILL とマークされた実行領域の場合、max_size の値は領域の長さと解釈されます。 それ以外の場合は、max_size の値は実行領域の最大サイズと解釈されます。

[-]length

EMPTY とだけ使用可能で、メモリ内で下方に増加されるスタックを表します。 長さに負の値が指定されている場合は、指定されている base_address が、その領域の終了アドレスとして使用されます。

input_section_description

入力セクションの内容を指定します。

Note

バッカスナウア記法(BNF)の定義では、読みやすくするために改行とスペースが挿入されています。 スキャッタロードの定義に改行やスペースを挿入する必要はなく、ファイル内に存在している場合は無視されます。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0493GJ
Non-ConfidentialID051612