C/C++ Optimizing compiler
The IAR C/C++ compilers offers the
standard features of ANSI C as well as an extended implementation of
Embedded C++. While standard C++ is not primarily intended for
embedded development and contains many size and/or speed consuming
features not relevant for embedded systems, Embedded C++ omits some
important features such as C++ templates. IAR Systems fills the gap
between C++ and EC++ with an extended version of Embedded C++ that
adds essentially all the language features that do not carry an
overhead in efficiency or size. Most importantly, the IAR compilers
support C++ templates and include the Standard Template Library
(STL) which provides convenient and efficient containers and
algorithms. The template implementation is even memory attribute
aware, allowing you to write specialized template code for different
memory types. IAR’s state-of-the-art compilers and the optimized
run-time library make C++ viable for embedded applications even on
an 8-bit MCU.
Each of the IAR C/C++ compilers contains C extensions designed to
take advantage of the special facilities of a particular target. It
includes advanced global and target-specific optimizations on
multiple speed and size levels that will help you produce very
compact and efficient code.
-
Advanced
generic and processor-specific optimizations for speed and memory
footprint
-
Lightweight
runtime library, user-configurable to match the needs of the
application - full source included.
-
Flexible
memory handling allows detailed control of code and data
placement
-
Removes
un-required functions and variables
-
Application-wide type checking of C/C++ variables and functions
at link time
-
Optional
flexible checksum generation for image runtime verification
-
Automatic
placement of code and data in non-contiguous memory regions
-
A powerful
relocating macro assembler with a versatile set of directives
and operators
IAR C-SPY debugger
The IAR C-SPY debugger is seamlessly
integrated into the same IDE as the other components in the Embedded
Workbench. This allows changes to be made in the source code while
debugging, without having to switch back and forth between the
editor and debugger. Another useful feature, made possible by tight
integration, is the capability to set breakpoints directly in the
source code, before starting the debugger. The breakpoints flow with
the source code as it is being edited.
IAR C-SPY source code stepping
provides a finer level of control—identifying every function call as
a step point. This means that function calls inside expressions can
be single stepped, as well as function calls which are part of parameter
lists to other function calls.
C-SPY displays STL collections as if
they were simple sequences, just like an array, rather than forcing
you to browse through the complex internal implementation details to
find your data. C-SPY can at any time and without runtime penalty
show the complete call chain.
It provides special menus,
windows, and dialog boxes for the functions provided by the target
system—for example, code and hardware breakpoints, real-time
execution, real interrupts and tracing.
RTOS-aware debugging is facilitated
through a plug-in architecture that allows an RTOS module to extend
the capabilities of the IAR C-SPY debugger. It allows inspection of
active as well as non-active tasks, meaning that contents of
registers, program counter, stack, and other context parameters are
fetched from the location where they are saved by the RTOS.
IAR IDE
The powerful project manager displays
both source and output files and gives an overview of their
settings. The IAR Embedded Workbench keeps track of project and file
status and recompiles, reassembles, and links files as necessary.
Your workspace can contain multiple projects—even for different
targets—and batch build allows you to build multiple configurations
at once. Ready-made project templates and peripheral register
definition files for supported devices help you to get off to a
smooth start. The source browser provides quick access to functions
and declarations.

IAR KickStart Kit™ contains all the necessary hardware and software
to allow you to design, implement and test your applications
directly on the chip. Each kit consists of:

Starter kits with ARM7
development boards and IAR Embedded Workbench with a code size
limited version of the ARM C/C++ compiler are available for:
Atmel: AT91SAM7S, AT91SAM7X, AT91SAM9XE
Luminary: LM3S102, LM3S811 (Cortex)
Oki: ML67Q4051, ZDK (ML7065 & ML67Q4061)
NXP (Philips): LPC2103, LPC2106, LPC2129, LPC2138,
LPC2148, LPC2294, LPC2378-02/-04, LPC2468/78, LPC935
STMicroelectronics: STM32 (Cortex), STR711F, STR712F, STR730F,
STR731F, STR750F, STR912
Texas Instruments: TMS470R1A256, TMS470R1B1M
Starter kits with
development boards and IAR Embedded Workbench with a code
size limited version of the C/C++ compiler for other CPU families:
Texas Instruments:
MSP430F1232, MSP430F169
Renesas: R8C/M16C/M32C
|
ARM 7/9/9E/10
Cortex and XScale
C & C++ & Embedded C++
Compilers / ARM or Thumb mode / MISRA C
Checker / Support for the VFP-9-S floating point
co-processor / C-SPY debugger includes support for ARM Angel debug monitor as well as
CMX-RTX and ThreadX RTOS
plug-ins / C-SPY software will operate with the ARM
Multi-ICE and other RDI-based JTAG interfaces such as the
ABATRON
BDI1000/2000 |