SW500008 Microchip Technology, SW500008 Datasheet - Page 373

PICC-18 STD

SW500008

Manufacturer Part Number
SW500008
Description
PICC-18 STD
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC18r
Datasheets

Specifications of SW500008

Supported Families
PIC18
Core Architecture
PIC
Software Edition
Standard
Kit Contents
Software And Docs
Mcu Supported Families
PIC18
Tool Function
Compiler
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / RoHS Compliant
For Use With/related Products
PIC18 Series
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
015
778-1001
778-1001
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 * 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 accomodate 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.
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 accomodate 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 progam’s data has exceeded the total amount of space on the
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.9
359
for

Related parts for SW500008