SW500009 Microchip Technology, SW500009 Datasheet - Page 131

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
Linker and Utilities
the function foo will never appear in the call graph.
see Section
the code generator. For the above code, the code generator optimiser will remove the redundant call
to bar before the C source code conversion is performed, as so the FNCALL directive will not be
present in the output file, hence not detectable by the linker. When writing assembler source code,
the FNCALL assembler directive should always be used, particularly if the assembler routines define
local auto-like variables using the FNSIZE directive, see below, and also Section
information.
the size of the function’s auto area, respectively. The parameter size only includes those parameters
which are allocated memory locations, and which are not passed via a register. The auto size does not
include any auto variables which are allocated registers by the code generator’s (global) optimizer
for the entire duration of the function. The auto size does, however, include any values which must
be stored temporarily in the functions scratch area. Variables which are passed via a register may
need to be saved into the function’s temporary variable if that register is required for code generation
purposes, in which case they do not contribute to the function’s parameter size, but increase the size
of the auto area.
allocated an address within the program’s auto/parameter psect. The offset value indicates the offset
within the psect for that block. Thus, two APBs with the same offset are mapped over one another.
by the function represented by that line does not fully overlap with that of other functions, and thus
this functions APB directly influences the size of the auto/parameter psect, and hence the total RAM
usage of the program. If the RAM usage of a program needs to be reduced and the number or size
of the parameters or auto variables defined by the starred functions can be reduced, the program’s
RAM usage will also be reduced. Reducing the number or size of the parameters or auto variables
defined by the functions that are not starred will have no effect on the program’s total RAM usage.
that could be called via the function pointer. Functions called indirectly are listed in the call graph
along with those functions which are directly called.
The inclusion of a function into the call graph is controlled by the FNCALL assembler directive,
If printed, the two components to the size are the size of that function’s parameter area, and
The total parameter and auto area for each function is grouped to form an APB. This is then
If a star, *, appears on the very left line of a call tree, this implies that the memory consumed
Pro compilers track the values assigned to function pointers and maintains a list of all functions
int test(void) {
}
int a = 0;
if(a)
else
foo();
bar();
4.3.8.13
for more information. These directives are placed in the assembler output by
4.3.8.16
Map Files
for more
117

Related parts for SW500009