Programming ARM Option Bytes using Assembly Directives
The ARM linker automatically places sections prefixed with __at in the specified address. In C code, you would specify the section using the section attribute, like this:

// place flash_key in a section called .ARM.__at_0x8000
long flash_key __attribute__((section(".ARM.__at_0x8000")));


You can control the behaviour by passing --autoat or --noautoat to the linker.

See Placement of a key in flash memory with an __at section from the ARM Linker User Guide for more details.