You copied the Doc URL to your clipboard.
__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, writable variables are placed in RW data
sections.
To place ZI data in a named section, the section must start with the prefix
.bss.
. Non-ZI data cannot be placed in a section named
.bss.
Example
/* 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"))); /* in ZI section */ int my_zi __attribute__((section (".bss.my_zi_section")));