__attribute__((section("name"))) 変数属性

通常 ARM コンパイラでは、生成したオブジェクトを .data.bss などのセクションに配置します。しかし、追加のデータセクションが必要になったり、変数を特別なセクションに配置したりする場合(特別なハードウェアへのマップを行う場合など)があります。section 属性を使用すると、変数を特定のデータセクションに配置するように指定できます。section 属性を使用すると、zero_init 属性を使用しない限り、読み出し専用変数は RO データセクションに配置され、読み出し-書き込み変数は RW データセクションに配置されます。この場合、変数は ZI セクションに配置されます。

Note

この変数属性は、ARM コンパイラでサポートされている GNU コンパイラの拡張機能です。

Show/hide

/* RO セクション */
const int descriptor[3] __attribute__ ((section ("descr"))) = { 1,2,3 };

/* RW セクション */
long long rw_initialized[10] __attribute__ ((section ("INITIALIZED_RW"))) = {5};

/* RW セクション */
long long rw[10] __attribute__ ((section ("RW")));

/* ZI セクション */
long long altstack[10] __attribute__ ((section ("STACK"), zero_init));

Show/hide関連項目

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