Specifications
CAVR-4
Part 1. Using the compiler
The DLIB runtime environment
79
PREDEFINED RUNTIME ATTRIBUTES
The table below shows the predefined runtime model attributes that are available for the
AVR IAR C/C++ Compiler. These can be included in assembler code or in mixed C or
C++ and assembler code.
The easiest way to find the proper settings of the
RTMODEL directive is to compile a C or
C++ module to generate an assembler file, and then examine the file.
If you are using assembler routines in the C or C++ code, refer to the chapter Assembler
directives in the AVR® IAR Assembler Reference Guide.
Runtime model attribute Value Description
__rt_version 2.30 This runtime key is always present in all
modules generated by the AVR IAR C/C++
Compiler. If a major change in the runtime
characteristics occurs, the value of this key
changes.
__cpu 0–6 Corresponds to the -v option used.
__cpu_name derivative Corresponds to the processor derivative
name, as it appears in Table 2, Mapping of
processor options, page 6, for example
AT90S2343 or ATmega8515. Note that
for the FpSLic derivative, the value is
AT94Kxx.
__double_size 32 or 64 States the size of double. The default size is
32. Use the compiler option
--64bit_doubles to override the
default.
__enhanced_core Enabled Available only if the compiler option
--enhanced_core or --cpu for a target
processor with enhanced core is used.
__memory_model 1–3 Corresponds to the used memory model,
where the value can be 1, 2, or 3 for Tiny,
Small, or Large, respectively.
__no_rampd Enabled or disabled Defined for targets with >64 Kbytes of data
memory. Disabled if the target processor has
a RAMPD register, otherwise enabled.
Table 25: Predefined runtime model attributes