4.5.6. __attribute__((section))

일반적으로 ARM 컴파일러는 생성한 개체를 databss와 같은 섹션에 배치합니다. 그러나 추가 데이터 섹션이 필요할 수도 있고 또는 변수를 특별 섹션에 배치하여 특별 하드웨어에 매핑하기를 원할 수도 있습니다. section 특성은 변수가 특정 데이터 섹션에 배치되도록 지정합니다. section 특성을 사용할 경우, zero_init 특성을 사용하지 않는 한, 읽기 전용 변수는 RO 데이터 섹션에 배치되고 읽기-쓰기 변수는 RW 데이터 섹션에 배치됩니다. 다음과 같은 경우 변수는 ZI 섹션에 배치됩니다.

Note

이 변수 특성은 ARM 컴파일러에서 지원하는 GNU 컴파일러 확장입니다.

예제

/* in RO section */
const int descriptor[3] __attribute__ ((section ("descr"))) = { 1,2,3 };

/* in RW section */
long long rw[10] __attribute__ ((section ("RW")));

/* in ZI section *
long long altstack[10] __attribute__ ((section ("STACK"), zero_init));/
Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential