__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-2012 ARM. All rights reserved.ARM DUI 0491GJ
Non-ConfidentialID051612