Microchip Technology SW006021-1N 사용자 설명서
MPLAB
®
XC8 C Compiler User’s Guide
DS52053B-page 164
2012 Microchip Technology Inc.
Although a few devices implement more than 4 banks of data RAM, bank qualifiers to
allow placement into these upper banks are not currently available.
allow placement into these upper banks are not currently available.
These qualifiers are controlled by the compiler option --ADDRQUAL, which determines
their effect, see Section 4.8.16 “--ADDRQUAL: Set Compiler Response to Memory
Qualifiers”. Based on this option’s settings, these qualifiers may be binding or ignored
(which is the default operation). Qualifiers which are ignored will not produce an error
or warning, but will have no effect.
their effect, see Section 4.8.16 “--ADDRQUAL: Set Compiler Response to Memory
Qualifiers”. Based on this option’s settings, these qualifiers may be binding or ignored
(which is the default operation). Qualifiers which are ignored will not produce an error
or warning, but will have no effect.
Objects qualified with any of these qualifiers cannot be auto or parameters to a func-
tion, but can be qualified static, allowing them to be defined locally within a function,
as in:
tion, but can be qualified static, allowing them to be defined locally within a function,
as in:
void myFunc(void) {
static bank1 unsigned char play_mode;
If the xc8 option, --STRICT is used, these qualifiers are changed to __bank0,
__bank1
__bank1
, __bank2 and __bank3.
5.4.8.5
EEPROM TYPE QUALIFIER
The eeprom type qualifier is recognized by the compiler for baseline and mid-range
devices only and indicates that objects should be placed in the EEPROM memory. Not
all devices implement EEPROM memory. Check your device data sheet for more infor-
mation.
devices only and indicates that objects should be placed in the EEPROM memory. Not
all devices implement EEPROM memory. Check your device data sheet for more infor-
mation.
Objects qualified with this qualifier cannot be auto or parameters to a function, but can
be qualified static, allowing them to be defined locally within a function, as in:
be qualified static, allowing them to be defined locally within a function, as in:
void myFunc(void) {
static eeprom unsigned char inputData[3];
The generated code to access eeprom-qualified variables will be much longer and
slower than code to access RAM-based variables.
slower than code to access RAM-based variables.
If the --STRICT option is used, this qualifier is changed to __eeprom.