Keil Logo Arm Logo

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 Name Description
FCODE Program memory limited to 16M.
FCONST Constant data limited to 16M and usually stored in ROM. Individual objects are limited to 16K.
FDATA Variable data limited to 16M and stored in RAM. Individual objects are limited to 16K.
FDATA0 Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 16K.
HCONST Constant data limited to 16M and usually stored in ROM. Individual objects are limited to 64K.
HDATA Variable data limited to 16M and stored in RAM. Individual objects are limited to 64K.
HDATA0 Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 64K.
ICODE Program memory limited to 64K and stored in on-chip RAM.
IDATA Variable data limited to 16K and stored in on-chip RAM.
IDATA0 Variable data that is initialized to 0, limited to 16K, and stored in on-chip RAM.
NCODE Program memory limited to 64K.
NCONST Constant data limited to 16K and usually stored in ROM.
NDATA Variable data limited to 16K and stored in RAM.
NDATA0 Variable data that is initialized to 0, limited to 16K, and stored in RAM.
SDATA Variable data limited to 16K and stored in on-chip XRAM.
SDATA0 Variable data that is initialized to 0, limited to 16K, and stored in on-chip XRAM.
XCONST Constant data limited to 16M and usually stored in ROM. Individual objects are limited to 16M.
XDATA Variable data limited to 16M and stored in RAM. Individual objects are limited to 16M.
XDATA0 Variable data that is initialized to 0, limited to 16M, and stored in RAM. Individual objects are limited to 16M.

Keil logo

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.