SW006012 Microchip Technology, SW006012 Datasheet - Page 76

C COMPILER FOR DSPIC30F FAMILY

SW006012

Manufacturer Part Number
SW006012
Description
C COMPILER FOR DSPIC30F FAMILY
Manufacturer
Microchip Technology
Type
MPLAB® C30 Compilerr
Series
PIC24 & DsPICr
Datasheets

Specifications of SW006012

Supported Families
PIC24, DsPIC30F And DsPIC33F
Core Architecture
PIC, DsPIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Tool Type
Compiler
Processor Series
PIC24, dsPIC
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
dsPIC30F
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
MPLAB
DS51284F-page 70
®
C30 User’s Guide
1. It is possible to compile some modules of an application using the
2. If the command line options -mlarge-data or -mlarge-scalar have been
3. Instead of using command-line options, which have module scope, individual
The linker will produce an error message if all near variables for an application cannot
fit in the 8K near data space.
4.7.2
Functions that are near (within a radius of 32 Kwords of each other) may call each other
more efficiently that those which are not. If it is known that all functions in an application
are near, then the default -msmall-code command line option can be used when
compiling each module to direct the compiler to use a more efficient form of the function
call.
If this default option is not suitable, then the following alternatives are available:
1. It is possible to compile some modules of an application using the
2. If the -msmall-code command-line option has been used, then the compiler
3. Instead of using command-line options, which have module scope, the compiler
The -msmall-code command-line option differs from the -msmall-data
command-line option in that in the former case, the compiler does nothing special to
ensure that functions are allocated near one another, whereas in the latter case, the
compiler will allocate variables in a special section.
The linker will produce an error message if the function declared to be near cannot be
reached by one of its callers using a more efficient form of the function call.
-mlarge-data or -mlarge-scalar command line options. In this case, only
the variables used by those modules will be allocated in the far data section. If
this alternative is used, then care must be taken when using externally defined
variables. If a variable that is used by modules compiled using one of these
options is defined externally, then the module in which it is defined must also be
compiled using the same option, or the variable declaration and definition must
be tagged with the far attribute.
used, then an individual variable may be excluded from the far data space by
tagging it with the near attribute.
variables may be placed in the far data section by tagging them with the far
attribute.
-msmall-code command line option. In this case, only function calls in those
modules will use a more efficient form of the function call.
may be directed to use the long form of the function call for an individual function
by tagging it with the far attribute.
may be directed to call individual functions using a more efficient form of the
function call by tagging their declaration and definition with the near attribute.
Near and Far Code
© 2007 Microchip Technology Inc.

Related parts for SW006012