Keil™, An ARM® Company

Technical Support

L166: WARNING 23 (NDATA MUST FIT IN ONE 16K PAGE)

QUESTION

After updating to C166 V3.11 we are starting to have the undocumented linker warnings:

*** WARNING 23: NDATA/NDATA0 OR NCONST MUST FIT IN ONE 16KB PAGE
    CLASS:   NCONST

*** WARNING 23: NDATA/NDATA0 OR NCONST MUST FIT IN ONE 16KB PAGE
    CLASS:   NDATA

*** WARNING 23: NDATA/NDATA0 OR NCONST MUST FIT IN ONE 16KB PAGE
    CLASS:   NDATA0

How can we fix this problem?

ANSWER

The linker is complaining about the length of NCONST, NDATA, and NDATA0. Remember that these memory classes must reside in a single 16K memory page.

You must specify the memory area for these memory classes on the linker command line using the CLASSES directive. The range of the memory must be specified (010000h-013FFFh, for example). The following linker command line provides an example of how to do this:

L166 ... CLASSES(NDATA (10000H-13FFFH), NDATA0 (10000H-13FFFH))

MORE INFORMATION

  • Refer to CLASSES in the L166 User's Guide.

Last Reviewed: Friday, July 15, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure