__at セクションを使用して特定のアドレスにセクションを配置する

セクションを配置する必要があるアドレスをエンコードした特別な名前をセクションに付けることができます。名前は以下のように指定できます。

.ARM.__at_address

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

address

セクションの必要なアドレス。16 進数値または 10 進数値で指定することができます。.ARM.__at_address の形式のセクションは、省略形 __at で表します。

コンパイラで変数を __at セクションに割り当てるには、以下の方法を使用します。

Example 19. __at セクションへの変数の割り当て

; variable1.ARM.__at_0x00008000 という名前のセクションに配置する
int variable1 __attribute__((at(0x8000))) = 10;

; variable2.ARM.__at_0x8000 という名前のセクションに配置する
int variable2 __attribute__((section(".ARM.__at_0x8000"))) = 10;

Note

__attribute__((at(address))) を使用する場合、address を表す __at セクション名の部分は、8 桁の 16 進数値に正規化されます。セクション名は、スキャッタロード記述ファイル内で名前を使用してセクションを照合する場合にのみ有意です。--autoat コマンドラインオプションを使用すると、リンカによって __at セクションが自動的に割り当てられます。このオプションはデフォルトです。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0474BJ
Non-ConfidentialID011811