Справочник Пользователя для Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1
Модели
SW006021-1
MPLAB
®
XC8 C Compiler User’s Guide
DS52053B-page 420
2012 Microchip Technology Inc.
MOVWF
(_foo&0ffh)
which masks out the top bits of the address containing the bank information.
If the assembler instruction that caused this error was generated by the compiler, in the
assembler list file look back up the file from the instruction at fault to determine which
C statement has generated this instruction. You will then need to examine the C code
for possible errors. incorrectly qualified pointers are an common trigger.
assembler list file look back up the file from the instruction at fault to determine which
C statement has generated this instruction. You will then need to examine the C code
for possible errors. incorrectly qualified pointers are an common trigger.
(478) * range check failed (location 0x* (0x*+*), value 0x* > limit 0x*)
(Linker)
This is an internal compiler error. Contact Microchip Technical Support with details.
(479) circular indirect definition of symbol "*"
(Linker)
The specified symbol has been equated to an external symbol which, in turn, has been
equated to the first symbol.
equated to the first symbol.
(480) function signatures do not match: * (*): 0x*/0x*
(Linker)
The specified function has different signatures in different modules. This means it has
been declared differently; i.e., it may have been prototyped in one module and not
another. Check what declarations for the function are visible in the two modules
specified and make sure they are compatible, for example:
been declared differently; i.e., it may have been prototyped in one module and not
another. Check what declarations for the function are visible in the two modules
specified and make sure they are compatible, for example:
extern int get_value(int in);
/* and in another module: */
/* this is different to the declaration */
int get_value(int in, char type)
{
(481) common symbol "*" psect conflict
(Linker)
A common symbol has been defined to be in more than one psect.
(482) symbol "*" is defined more than once in "*"
(Assembler)
This symbol has been defined in more than one place. The assembler will issue this
error if a symbol is defined more than once in the same module, for example:
error if a symbol is defined more than once in the same module, for example:
_next:
MOVE r0, #55
MOVE [r1], r0
_next: ; oops -- choose a different name
The linker will issue this warning if the symbol (C or assembler) was defined multiple
times in different modules. The names of the modules are given in the error message.
Note that C identifiers often have an underscore prepended to their name after
compilation.
times in different modules. The names of the modules are given in the error message.
Note that C identifiers often have an underscore prepended to their name after
compilation.
(483) symbol "*" can’t be global
(Linker)
This is an internal compiler error. Contact Microchip Technical Support with details.
(484) psect "*" can’t be in classes "*" and "*"
(Linker)
A psect cannot be in more than one class. This is either due to assembler modules with
conflicting class= options to the PSECT directive, or use of the -C option to the linker,
for example:
conflicting class= options to the PSECT directive, or use of the -C option to the linker,
for example:
psect final,class=CODE
finish:
/* elsewhere: */
psect final,class=ENTRY