ARMLINK: L6985E: Unable to Automatically Place ... When Using __AT
Information in this article applies to:
I am writing an application for an NXP LPC2294 device that uses external memory and I define the following variables in external memory:
#include <absacc.h> const unsigned short l1 __at(0x80001000)=0x1234; const unsigned short l2 __at(0x80001002)=0x8765; const char text __at(0x80001008)="Hello World";
When I link this application, I get the following error message:
Error: L6985E: Unable to automatically place AT section .ARM.__AT_0x80001000 with required base address 0x80001000.
Did I overlook something? What could be wrong?
You need to define all the available memory in your system. When you want to locate certain variables in a specific memory space, then you must specify this memory space. In your example enter in the dialog Project — Options — Target:
Enable ROM1: Start 0x80001000 Size: 0x100
This will avoid that the memory space is used for anything else besides your absolute variables.
Please search for L6985E in our Error and Warning Reference Guide to get a list of possible reasons for this warning.
Last Reviewed: Monday, February 4, 2019
of your data.