Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
C Language Features
 2012 Microchip Technology Inc.
DS52053B-page 213
_EEPROMSIZE
Always
To indicate how many bytes of 
EEPROM are available.
_ERRATA_TYPES
If PIC18 device
Indicates the errata workarounds 
being applied, see --ERRATA 
option Section 4.8.27.
_FAMILY_FAMILY_
If PIC18 device
Indicates PIC18 family
_FLASH_ERASE_SIZE
Always
Size of flash erase block
_FLASH_WRITE_SIZE
Always
Size of flash write block
_GPRBITS_
Always
Assigned 0, 1 or 2 to indicate 1, 2 
or 4 available banks or general 
purpose RAM.
_HAS_OSCVAL_
If the target device has an oscilla-
tor calibration register
To indicate target device may 
require oscillator calibration
_HTC_EDITION_
Always
Indicates which of PRO, Standard 
or Free compiler is in use. Values 
of 2, 1 or 0 are assigned 
respectively.
_HTC_VER_MAJOR_
_HTC_VER_MINOR_
Always
To indicate the whole or decimal 
component, respectively, of the 
compiler’s version number.
_HTC_VER_PATCH_
_HTC_VER_PLVL_
Always
To indicate the patch level of the 
compiler’s version number.
_MPC_
Always
 Indicates compiling for Microchip 
PIC
®
 MCU family.
_OMNI_CODE_
Always
Indicates compiling using an 
OCG compiler.
_PIC12
If baseline (12-bit instruction) 
device
To indicate selected device is a 
baseline PIC devices.
_PIC12E
If enhanced baseline (12-bit 
instruction) device
To indicate selected device is an 
enhanced baseline PIC devices.
_PIC14
If mid-range (14-bit instruction) 
device
To indicate selected device is a 
mid-range PIC devices.
_PIC14E
If Enhanced mid-range (14 bit 
instruction) device
To indicate selected device is an 
Enhanced mid-range PIC 
devices.
_PIC18
If PIC18 (16-bit instruction) 
device
To indicate selected device is an 
PIC18 devices.
_PROGMEM_
If compiling for mid-range device 
with flash memory
To indicate the type of flash mem-
ory employed by the target 
device. Values 0xFF (unknown), 
0xF0 (none), 0 (read only), 
1(word write with auto erase), 2 
(block write with auto erase), 3 
(block write with manual erase)
_RAMSIZE
If PIC18 device
To indicate how many bytes of 
data memory are available
_ROMSIZE
Always
To indicate how many words of 
program memory are available.
EEPROMSIZE
Always
To indicate how many bytes of 
EEPROM are available.
ERRATA_4000_BOUND
ARY
If the ERRATA_4000 applies
To indicate that the 4000 word 
boundary errata is applied
TABLE 5-12:
PREDEFINED MACROS (CONTINUED)
Symbol
 When set
 Usage