L166 User's Guide

Classes

A class is an arbitrarily ordered collection of sections that share a common attribute. The purpose of a class is to allow manipulation of a number of sections using only the class name.

For instance, the near data objects from all modules in a program are combined into the NDATA class while the far constant objects are combined into the FCONST class. You may use the CLASSES linker directive to specify the address range for sections in a class rather than specifying the addresses for each section individually.

The following default classes are generated by the Keil C166 Compiler. However, any number of user classes may be created and linked.

Class NameDescription
FCODEProgram memory limited to 16M.
FCONSTConstant data limited to 16M and usually stored in ROM. Individual objects are limited to 16K.
FDATAVariable data limited to 16M and stored in RAM. Individual objects are limited to 16K.
FDATA0Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 16K.
HCONSTConstant data limited to 16M and usually stored in ROM. Individual objects are limited to 64K.
HDATAVariable data limited to 16M and stored in RAM. Individual objects are limited to 64K.
HDATA0Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 64K.
ICODEProgram memory limited to 64K and stored in on-chip RAM.
IDATAVariable data limited to 16K and stored in on-chip RAM.
IDATA0Variable data that is initialized to 0, limited to 16K, and stored in on-chip RAM.
NCODEProgram memory limited to 64K.
NCONSTConstant data limited to 16K and usually stored in ROM.
NDATAVariable data limited to 16K and stored in RAM.
NDATA0Variable data that is initialized to 0, limited to 16K, and stored in RAM.
SDATAVariable data limited to 16K and stored in on-chip XRAM.
SDATA0Variable data that is initialized to 0, limited to 16K, and stored in on-chip XRAM.
XCONSTConstant data limited to 16M and usually stored in ROM. Individual objects are limited to 16M.
XDATAVariable data limited to 16M and stored in RAM. Individual objects are limited to 16M.
XDATA0Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 16M.