SW500009 Microchip Technology, SW500009 Datasheet - Page 123

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
as static. These symbols may be referred to by modules other than the one in which they are
defined. It is the linker’s job to match up the definition of a global symbol with the references to it.
Other symbols (local symbols) are passed through the linker to the symbol file, but are not otherwise
processed by the linker.
5.6 Link and load addresses
The linker deals with two kinds of addresses; link and load addresses. Generally speaking the link
address of a psect is the address by which it will be accessed at run time. The load address, which
may or may not be the same as the link address, is the address at which the psect will start within the
output file (HEX or binary file etc.). In the case of the 8086 processor, the link address roughly cor-
responds to the offset within a segment, while the load address corresponds to the physical address
of a segment. The segment address is the load address divided by 16.
copied from ROM to RAM at startup, so that it may be modified at run time; a banked text psect that
is mapped from a physical (== load) address to a virtual (== link) address at run time.
compiler and memory model being used.
5.7 Compiled Stack Operation
A compiler can either take advantage of the hardware stack contained on a device, or produce code
which uses a compiled stack for parameter passing between functions and auto variables. Temporary
variables used by a function may also be allocated space in the auto area. (Temporary variables with
names like btemp, wtemp or ltemp are not examples of such variables. These variables are treated
more like registers, although they may be are allocated memory.) A compiled stack consists of fixed
memory areas that are usable by each function’s auto and parameter variables. When a compiled
stack is used, functions are not re-entrant since local variables in each function will use the same
fixed area of memory every time the function is invoked. Compilers such as PICC, 6805 and Arclite
use compiled stacks. The 8051 compiler uses a compiled stack in small and medium memory models
only.
the structure of function calls. The call graph consists of one or more call trees which are defined by
the program. Each tree has a root function, which is typically not called by the program, but which is
executed via other means. The function main is an example of a root function. Interrupt functions are
another. The term main-line code means any code that is executed, or may be executed, by a function
that appears under the main root in the call graph. See Section
call graph which is displayed in the map file.
Other examples of link and load addresses being different are; an initialised data psect that is
The exact manner in which link and load addresses are used depends very much on the particular
Fundamental to the compiled stack is the call graph which defines a tree-like hierarchy indicating
5.11.1
for detailed information on the
Link and load addresses
109

Related parts for SW500009