|
|||||||||||
Technical Support Support Resources
Product Information |
L166: Warning 23 (NDATA or NCONST Must Fit in One 16k Page)Information in this article applies to:
SYMPTOMSWhen I build my project, I get the following warning message:
My NDATA is defined using the CLASSES directive as:
CAUSEYou can only specify ranges of memory totalling up to 16kb in size for NDATA using the CLASSES directive. In addition, a range of memory must not cross a page boundary. By only specifying the start address for NDATA it, has the same effect as trying to specify a range larger than 16kb. The following examples will generate the warning:
The following examples will work:
RESOLUTIONYou need to adjust your NDATA address ranges so they total less than 16kb and do not cross a page boundary. If you need more than 16kb of NDATA, then you can reassign the Data Page Pointers and obtain up to 48kb of contiguous NDATA memory. For example, to specify an NDATA range from 200000H to 20BFFFH, you would use the linker DPPUSE directive in the following way:
The can be set up in µVision by completing the following steps:
You can then specify the full NDATA range using the CLASSES directive and the warning will not be generated. Note that if you specify an NDATA range of 0x10000 - 0x1FFFF, for example, using the DPPUSE directive, then you may specify multiple ranges of NDATA using the CLASSES directive inside of the DPP NDATA range. For example:
MORE INFORMATION
Last Reviewed: Thursday, February 25, 2021 | ||||||||||
|
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.