You copied the Doc URL to your clipboard.

3.26 __attribute__((section("name"))) variable attribute

The section attribute specifies that a variable must be placed in a particular data section.

Normally, the ARM compiler places the data it generates in sections like .data and .bss. However, you might require additional data sections or you might want a variable to appear in a special section, for example, to map to special hardware.

If you use the section attribute, read-only variables are placed in RO data sections, read-write variables are placed in RW data sections.


This variable attribute is a GNU compiler extension that the ARM compiler supports.


/* in RO section */
const int descriptor[3] __attribute__((section ("descr"))) = { 1,2,3 };
/* in RW section */
long long rw_initialized[10] __attribute__((section ("INITIALIZED_RW"))) = {5};
/* in RW section */
long long rw[10] __attribute__((section ("RW")));