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

 

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
  • IDE
  • Compiler Features
  • Assembler
  • Chip Specific
  • Linker
  • Library
  • Language & Standards
  • User Assistance

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

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++ (*)

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

  • 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

Library

  • 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