SW500009 Microchip Technology, SW500009 Datasheet - Page 357

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
(489) psect "*" memory delta redefined: */*
A global psect has been defined with two different delta values, e.g.:
(490) class "*" memory space redefined: */*
A class has been defined in two different memory spaces. Either rename one of the classes or, if they
are the same class, place them in the same memory space.
(491) can’t find 0x* words for psect "*" in segment "*"
One of the main tasks the linker performs is positioning the blocks (or psects) of code and data that
is generated from the program into the memory available for the target device. This error indicates
that the linker was unable to find an area of free memory large enough to accommodate one of the
psects. The error message indicates the name of the psect that the linker was attempting to position
and the segment name which is typically the name of a class which is defined with a linker -A option.
which are, or include, text relate to program code. Names such as bss or data refer to variable
blocks. This error can be due to two reasons.
the selected device. In other words, some part of your device’s memory has completely filled. If this
is the case, then the size of the specified psect must be reduced.
positioned is sufficient, but that this memory is fragmented in such a way that the largest contiguous
block is too small to accommodate the psect. The linker is unable to split psects in this situation.
That is, the linker cannot place part of a psect at one location and part somewhere else. Thus, the
linker must be able to find a contiguous block of memory large enough for every psect. If this is the
cause of the error, then the psect must be split into smaller psects if possible.
information on how to generate a map file. Search for the string UNUSED ADDRESS RANGES. Under
this heading, look for the name of the segment specified in the error message. If the name is not
present, then all the memory available for this psect has been allocated. If it is present, there will be
one address range specified under this segment for each free block of memory. Determine the size
of each block and compare this with the number of words specified in the error message.
Section
First, the size of the program or the program’s data has exceeded the total amount of space on
The second cause of this message is when the total amount of memory needed by the psect being
To find out what memory is still available, generate and look in the map file, see Section
psect final,class=CODE,delta=2
finish:
; elsewhere:
psect final,class=CODE,delta=1
3.9.1
lists each compiler-generated psect and what it contains. Typically psect names
(Linker)
(Linker)
(Linker)
2.4.8
343
for

Related parts for SW500009