You copied the Doc URL to your clipboard.

Placement of sections at a specific address with __attribute__((section(".ARM.__at_address")))

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




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

In the compiler, you can assign variables to __at sections by explicitly naming the section with __attribute__((section(”name”))).

// 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. 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.