You copied the Doc URL to your clipboard.

Placement of __at sections at a specific address

You can give a section a special name that encodes the address where it must be placed.

You specify the special name as follows:


Where address is the required address of the section, normalized to eight hexadecimal digits. You can specify this in hexadecimal or decimal. Sections in the form of .ARM.__at_address are referred to by the abbreviation __at.

Assigning variables to __at sections in C or C++ code

// place variable2 in a section called .ARM.__at_0x8000
int variable2 __attribute__((section(".ARM.__at_0x8000"))) = 10;


The name of the section is only significant if you are trying to match the section by name in a scatter file. Without overlays, the linker automatically assigns __at sections when you use the --autoat command-line option. This option is the default. If you are using overlays, then you cannot use --autoat to place __at sections.

Related reference