SW006012 Microchip Technology, SW006012 Datasheet - Page 41

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
© 2007 Microchip Technology Inc.
3.5.1
For more information on the memory models, see Section 4.7 “Memory Models”.
TABLE 3-2:
-mconst-in-code Put constants in the auto_psv space. The compiler will access these
-mconst-in-data Put constants in the data memory space.
-merrata=
id[,id]*
-mlarge-code
-mlarge-data
-mcpu=
-mpa
-mpa=n
-mno-pa
Note 1:
target
(1)
Option
(1)
(1)
The procedure abstractor behaves as the inverse of inlining functions. The pass is
designed to extract common code sequences from multiple sites throughout a
translation unit and place them into a common area of code. Although this option
generally does not improve the run-time performance of the generated code, it can
reduce the code size significantly. Programs compiled with -mpa can be harder to
debug; it is not recommended that this option be used while debugging using the
COFF object format.
The procedure abstractor is invoked as a separate phase of compilation, after the
production of an assembly file. This phase does not optimize across translation
units. When the procedure-optimizing phase is enabled, inline assembly code must
be limited to valid machine instructions. Invalid machine instructions or instruction
sequences, or assembler directives (sectioning directives, macros, include files,
etc.) must not be used, or the procedure abstraction phase will fail, inhibiting the
creation of an output file.
Options Specific to dsPIC DSC Devices
dsPIC
constants using the PSV window. (This is the default.)
This option enables specific errata workarounds identified by id. Valid
values for id change from time to time and may not be required for a
particular variant. An id of list will display the currently supported
errata identifiers along with a brief description of the errata. An id of
all will enable all currently supported errata workarounds.
Compile using the large code model. No assumptions are made about
the locality of called functions.
When this option is chosen, single functions that are larger than 32k
are not supported and may cause assembly-time errors since all
branches inside of a function are of the short form.
Compile using the large data model. No assumptions are made about
the location of static and external variables.
This option selects the target processor ID (and communicates it to the
assembler and linker if those tools are invoked). This option affects how
some predefined constants are set; see Section 3.7 “Predefined Con-
stants” for more information. A full list of accepted targets can be seen
in the Readme.htm file that came with the release.
Enable the procedure abstraction optimization. There is no limit on the
nesting level.
Enable the procedure abstraction optimization up to level n. If n is zero,
the optimization is disabled. If n is 1, first level of abstraction is allowed;
that is, instruction sequences in the source code may be abstracted
into a subroutine. If n is 2, a second level of abstraction is allowed; that
is, instructions that were put into a subroutine in the first level may be
abstracted into a subroutine one level deeper. This pattern continues
for larger values of n.
The net effect is to limit the subroutine call nesting depth to a maximum
of n.
Do not enable the procedure abstraction optimization.
(This is the default.)
®
DSC DEVICE-SPECIFIC OPTIONS
Using MPLAB C30 C Compiler
Definition
DS51284F-page 35

Related parts for SW006012