Keil Logo

ARMLINK: L6985E: Unable to Automatically Place ... When Using __AT

Information in this article applies to:

  • RealView MDK Version 3.04


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

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.