Atmel CAVR-4 Manual De Usuario

Descargar
Página de 323
CAVR-4
Part 2. Compiler reference
Compiler options
201
*The most important difference between 
-z2
 and 
-z3
 is that at level 2, all non-static variables 
will live during their entire scope.
A low level of optimization makes it relatively easy to follow the program flow in the 
debugger, and, conversely, a high level of optimization makes it relatively hard.
Note: The 
-s
 and 
-z
 options cannot be used at the same time. 
To set the equivalent option in IAR Embedded Workbench, select 
Project>Options>C/C++ Compiler>Code.
--zero_register
--zero_register
Enabling this option will make the compiler use register 
R15
 as zero register, that is 
register 
R15
 is assumed to always contain zero. 
This option can in some cases reduce the size of the generated code, especially in the 
Large memory model. The option may be incompatible with the supplied runtime 
libraries. The linker will issue a link-time error if any incompatibilities arise.
--64bit_doubles
--64bit_doubles
Use this option to force the compiler to use 64-bit doubles instead of 32-bit doubles 
which is the default. For additional information, seFloating-point types, page 139.
This option is related to the Target options in the General Options category in IAR 
Embedded Workbench.
--64k_flash
--64k_flash
This option tells the compiler that the intended target processor does not have more than 
64 Kbytes program flash memory (small flash), and that the AVR core therefore does 
not have the 
RAMPZ
 register or the 
ELPM
 instruction. This option can only be used 
together with the 
-v2
-v3
, and 
-v4
 processor options.
To set the equivalent option in IAR Embedded Workbench, select 
Project>Options>General Options>Target (No RAMPZ register).