IAR Compilers  
 

Embedded ANSI C/C++ Compilers from IAR SystemsANSI C/C++ Compilers from IAR Systems

Benefits

Every IAR C/C++ Embedded Compiler contains both generic global optimizations as well as low-level chip-specific optimizations that ensure a small code size while taking advantage of all the specific features of your selected device.

IAR has compiler support for the following processors: 8051 ARM Atmel AVR Atmel AVR32 Freescale ColdFire Freescale S08 Freescale HCS12 Maxim MAXQ Microchip dsPIC/PIC24 Microchip PIC18 National CR16C NEC 78K0 NEC V850 Renesas H8 Renesas M16C / R8C Renesas M32C Renesas R32C Renesas R8C/Tiny Samsung SAM8 Sharp MK5 TI MSP430

Reuse of code and migration to new microcontroller architectures is made easy as each IAR C/C++ Compiler uses the same naming convention.

Whether you have a tight project schedule or are just eager to get started, IAR Embedded Workbench contains configuration files, code examples and template projects to get you going fast.

Key components

  • Integrated development environment available with project management tools and editor
  • Highly optimizing C and C++ compiler (*)
  • Run-time libraries
  • Relocating assembler
  • Linker and librarian tools
  • Ready-made code and project examples for supported evaluation boards
  • User and reference guides, both printed and in PDF format
  • Context-sensitive online help

Integrated development environment

  • Hierarchical project presentation
  • Multiple projects within the same workspace
  • Dockable windows and multiple views
  • Source browser
  • Library tools included for creating and maintaining libraries
  • Integration with source code control systems
  • Text editor
  • Code templates for commonly used code constructs
  • Command line build utility

IAR C/C++ Compiler Features

  • Advanced global and processor-specific optimizations for speed and memory footprint
  • Extended keywords for defining data/functions and declaring memory and type attributes
  • Pragma directives for controlling compiler behavior such as memory allocation
  • Intrinsic functions for direct access from C code to low-level processor operations
  • Full support for memory attributes in C++ (*)
  • Support for interrupt and exception handling in C and C++ (*)

IAR Assembler

  • A powerful relocating macro assembler with a versatile set of directives and operators
  • Built-in language preprocessor, accepting all C macro definitions

Chip-specific support

  • Ready-made C/C++ and assembler peripheral register definition files
    Multiple code and data models (where applicable)
  • Extensive set of language features for PROMable embedded code, including memory keywords, intrinsic functions, interrupt functions, memory-mapped I/O ports, etc.

Linker

  • Flexible memory handling allows detailed control of code and data placement
  • Removes unneeded 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

Libraries and library tools

  • All required ISO/ANSI C and C++ libraries and source included
  • All low-level routines such as writechar and readchar provided in full source code
  • Lightweight runtime library, user-configurable to match the needs of the application; full source included
  • Library tools for creating and maintaining library projects, libraries and library modules
  • Listings of entry points and symbolic information

Language and standards

  • The C programming language as standardized by ISO/ANSI C94 with selected features from C99
  • Embedded C++ extended with templates, namespaces, virtual and multiple inheritance and other C++ features that do not cause an overhead in size or speed.
  • Full Embedded C++ library containing string, streams etc., as well as the Standard Template Library (STL)
  • IEEE-754 floating-point arithmetic
  • MISRA C checker for code quality control
  • Supports a wide range of industry-standard debug and image formats, compatible with most popular debuggers and emulators, including ELF/DWARF where applicable

User assistance

  • Ready-made sample projects and project templates
  • Context-sensitive online help with library function lookup
  • Printed user guides with extensive step-by-step tutorials
  • User friendly, detailed, and precise error messages and warnings

    Both the user documentation and the GUI is available in English.

System requirements

To install and run the IAR Embedded Workbench, you need the following:

  • A PC with Microsoft Windows Vista/XP(SP2)/2000(SP4)
  • A Pentium processor with at least 1 Gbyte of RAM and 800 Mbytes of free disk space
  • Internet Explorer 6 or higher
  • Adobe® Reader® to access the product documentation