実行領域の属性

以下に、実行領域の属性を示します。

ABSOLUTE

絶対アドレス。領域の実行アドレスはベース指定子で指定されます。

ALIGN alignment

実行領域の境界整列の制約を 4 から alignment に引き上げます。alignment には、2 の累乗で正の数を指定する必要があります。実行領域に base_address が指定されている場合、alignment で整列される必要があります。実行領域に +offset が指定されている場合、領域の計算されたベースアドレスは alignment 境界で整列されます。

Note

実行領域に対して ALIGN を使用すると、ロードアドレスと実行アドレスの両方が整列されます。その結果、ELF ファイルにパディングが追加されることがあります。実行ドレスのみを整列させる場合は、ベースアドレスに対して AlignExpr 式を使用します。

ALIGNALL value

実行領域内のセクションのアライメントを増やします。

2 の累乗で 4 以上の値を指定する必要があります。

ANY_SIZE max_size

armlink が未割り当てセクションで満たすことができる実行領域内で最大サイズを指定します。単純な式を使用すると、max_size を指定することができます。つまり、ImageLimit() などの関数は使用できません。

Note

max_size は予備領域ではありませんが、実行領域の未割り当てセクションの配置で使用できる最大サイズです。例えば、実行領域が .ANY セクションのみで満たされている場合、2% の予備領域がベニア用に確保されます。これにより、.ANY セクションを割り当てるための残りの領域は 98% になります。

このキーワードを使用する場合は、以下の制限事項に注意して下さい。

  • max_size は、領域サイズ以下である必要があります。

  • .ANY セレクタなしで ANY_SIZE を領域上で使用できますが、これは armlink によって無視されます。

EMPTY [-]length

このオプションを指定すると、通常はヒープまたはスタックのために、指定された size の空メモリブロックが実行領域内に確保されます。EMPTY 属性のある領域にはセクションを配置できません。

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

FILL value

value を含んでいるリンカ生成領域を作成します。FILL を指定する場合、FILL 0xFFFFFFFF のように値を指定する必要があります。FILL 属性は、EMPTY ZEROPAD PADVALUE という組み合わせを置き換えます。

シミュレーションなどの特定の状況では、ゼロを書き込むループに時間を費やすよりも、このオプションを使用することを推奨します。

FIXED

固定アドレス。リンカは、実行アドレスをロードアドレスと等しくしようとします。これによって領域がルート領域になります。これが不可能な合は、エラーが生成されます。

Note

リンカは、この属性を基にパディングを挿入します。

NOCOMPRESS

デフォルトでは、RW データ圧縮は有効になっています。NOCOMPRESS キーワードを使用すると、最終イメージで実行領域の RW データが圧縮されないように指定できます。

OVERLAY

オーバーレイアドレス範囲のあるセクションに使用します。連続する実行領域の +offset が同じ場合、同じベースアドレスが割り当てられます。

PADVALUE

パッドする値を定義します。PADVALUE を指定する場合、以下のように値を指定する必要があります。

EXEC 0x10000 PADVALUE 0xFFFFFFFF EMPTY ZEROPAD 0x2000

この結果、0xFFFFFFFF でパディングサイズ 0x2000 の領域が作成されます。

PADVALUE のサイズは 1 ワードである必要があります。ロード領域の PADVALUE 属性は無視されます。

PI

この領域には、位置非依存のセクションのみが含まれています。

SORTTYPE

実行領域のソートアルゴリズムを指定します。以下に例を示します。

ER1 +0 SORTTYPE CallTree
UNINIT

これを使用して、初期化されていないデータまたはメモリマップされた I/O を含む実行領域を作成します。

ZEROPAD

ゼロで初期化されたセクションが、ゼロのブロックとして ELF ファイルに書き込まれます。このオプションを指定した場合、実行時にセクションゼロを書き込む必要はありません。

これによって、ZI 出力セクションのロード長が Image$$region_name$$ZI$$Length に設定されます。

ルート実行領域に限り、ZEROPAD 属性を使用してゼロで初期化できます。ルート以外の実行領域で ZEROPAD 属性を使用すると、警告が生成されて属性は無視されます。

シミュレーションなどの特定の状況では、ゼロを書き込むループに時間を費やすよりも、このオプションを使用することを推奨します。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0493EJ
Non-ConfidentialID081711