User

Problems compiling "__attribute__((at"

Some other toolchains provide a compiler extension __attribute__((at(addr))) which acts as a request that the variable that it is applied to is placed at location addr. For example:

static HostController _controller __attribute__((at(USB_RAM_BASE)));

The GNU toolchain as used by the Code Red IDE provides no direct equivalent of this 'at' attribute. Basic details of how to place a data item at a specific address can be found in the FAQ "Placing data at an address".

In addition to the method described in the above FAQ of manually editing the linker script, Code Red IDE v4.20 and later provide the ability to edit the memory map used by linker within the GUI itself. It should therefore be possible to place your data item using a combination of this with the section macros that we provide in the header cr_section_macros.h.