SW500008 Microchip Technology, SW500008 Datasheet - Page 145

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
Linker and Utilities
After each tree in call tree, there is an indication of the maximum call depth that might be realised
by that tree. This may be used as a guide to the stack usage of the program. No definitive value can
be given for the program’s total stack usage for several reasons:
The code generator also produces a warning if the maximum stack depth appears to have been
exceeded. For the above reasons, this warning, too, is intended to be a guide to potential stack
problems.
The above call graph example is analysed in the following tutorial.
Certain parts of the call tree may never be reached, reducing that tree’s stack usage;
The contribution of interrupt (or other) trees to the tree associated with the main function
cannot be determined as the point in main’s call tree at which the interrupt (or other function
invocation) will occur cannot be known;
Any additional stack usage by functions, particularly interrupt functions, cannot be known;
and
The assembler optimizer may have replaced function calls with jumps to functions, reducing
that tree’s stack usage.
T
I
indicates that the program compiled consists of two call trees, rooted at the functions
main, which can have up 3 levels of stack used, and intlevel1, which can use up to two
levels of stack. In the example above, the symbol _main is associated with the function
main, and intlevel1 associated with an interrupt function (with an interrupt level
of 1).
Here, the function main takes no parameters and defines 4 bytes of auto variables. The
total size of the APB for main is 4, and this was placed at an offset of 0 in the program’s
auto/parameter psect. The function main may call a function called init. This function
also uses a total of 4 bytes of auto variables. The function main is still active when init
is active so their APBs must occupy distinct memory. (NB main will always be active
during program execution, by definition.) The block for init follows immediately after
that of main’s at address offset 4. The function init does not call any other functions.
The main function may also call the function byteconv. This function defines a total of
17 bytes of auto variables. It is called when main is still active, but it is never active at
the same time as init is active, so its APB can overlap with that of init and is placed
at offset 4 within the auto/parameter psect.
NTERPRETING A
UT RIAL
PRO
COMPILER CALL GRAPH
The graph graph shown above
Map Files
131

Related parts for SW500008