SW500010 Microchip Technology, SW500010 Datasheet - Page 409

HI-TECH C PRO FOR PIC10/12/16

SW500010

Manufacturer Part Number
SW500010
Description
HI-TECH C PRO FOR PIC10/12/16
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC10/12/16r
Datasheets

Specifications of SW500010

Supported Families
PIC10, PIC12, PIC16
Core Architecture
PIC
Software Edition
Professional
Kit Contents
Software And Docs
Mcu Supported Families
PIC10/12/16
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC10, PIC12, PIC14, PIC16, PIC16E
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
019P
778-1006
778-1006
Error and Warning Messages
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.
the program. If a code psect must be split into two or more small psects, this requires splitting a
function into two or more smaller functions (which may call each other). These functions may need
to be placed in new modules.
is less dramatic. The program may need to be rewritten so that it needs less variables. Section
5.10.2.2
a compiled stack. (If the string Call graph: is not present in the map file, then the compiled
code uses a hardware stack.) If a data psect needs to be split into smaller psects, the definitions
for variables will need to be moved to new modules or more evenly spread in the existing modules.
Memory allocation for auto variables is entirely handled by the compiler. Other than reducing the
number of these variables used, the programmer has little control over their operation. This applies
whether the compiled code uses a hardware or compiled stack.
look in the map file for the ranges of unused memory.
In the CODE segment, there is 0x1c (0x25f-0x244+1) bytes of space available in one block and 0x30
available in another block. Neither of these are large enough to accommodate the psect text which
is 0x34 bytes long. Notice, however, that the total amount of memory available is larger than 0x34
bytes.
(492) attempt to position absolute psect "*" is illegal
This psect is absolute and should not have an address specified in a -P option. Either remove the
abs psect flag, or remove the -P linker option.
Psects containing code can be reduced by using all the compiler’s optimizations, or restructuring
Psects containing data may be reduced when invoking the compiler optimizations, but the effect
For example, after receiving the message:
Can’t find 0x34 words (0x34 withtotal) for psect text
UNUSED ADDRESS RANGES
in segment CODE (error)
has information on interpreting the map file’s call graph if the compiler you are using uses
CODE
RAM
00000244-0000025F
00001000-0000102f
00300014-00301FFB
(Linker)
409

Related parts for SW500010