SW500009 Microchip Technology, SW500009 Datasheet - Page 353

HI-TECH FOR DSPIC/PIC24

SW500009

Manufacturer Part Number
SW500009
Description
HI-TECH FOR DSPIC/PIC24
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC24 & DsPICr
Datasheet

Specifications of SW500009

Supported Families
PIC24
Core Architecture
PIC, DsPIC
Software Edition
Standard
Kit Contents
Software And Docs
Tool Type
Compiler
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Lead Free Status / RoHS Status
Not applicable / RoHS Compliant
For Use With/related Products
DSPIC3X/PIC24
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
025
778-1003
778-1003
Error and Warning Messages
(474) no psect specified for function variable/argument allocation
The FNCONF assembler directive which specifies to the linker information regarding the auto/parameter
block was never seen. This is supplied in the standard runtime files if necessary. This error may im-
ply that the correct run-time startup module was not linked. Ensure you have used the FNCONF
directive if the runtime startup module is hand-written.
(475) conflicting FNCONF records
The linker has seen two conflicting FNCONF directives. This directive should only be specified once
and is included in the standard runtime startup code which is normally linked into every program.
(476) fixup overflow referencing * * (location 0x* (0x*+*), size *, value 0x*)
The linker was asked to relocate (fixup) an item that would not fit back into the space after relocation.
See the following error message (477) for more information..
(477) fixup overflow in expression (location 0x* (0x*+*), size *, value 0x*)
Fixup is the process conducted by the linker of replacing symbolic references to variables etc, in an
assembler instruction with an absolute value. This takes place after positioning the psects (program
sections or blocks) into the available memory on the target device. Fixup overflow is when the
value determined for a symbol is too large to fit within the allocated space within the assembler
instruction. For example, if an assembler instruction has an 8-bit field to hold an address and the
linker determines that the symbol that has been used to represent this address has the value 0x110,
then clearly this value cannot be inserted into the instruction.
Badly written C code can also generate assembler that ultimately generates fixup overflow errors.
Consider the following error message.
The causes for this can be many, but hand-written assembler code is always the first suspect.
#pragma interrupt_level 1
void foo(void)
{
}
#pragma interrupt_level 1
void interrupt bar(void)
{
}
...
// this function never calls foo()
(Linker)
(Linker)
(Linker)
(Linker)
339

Related parts for SW500009