IAR Embedded Workbench is a set of development tools for building and debugging embedded applications using assembler, C and C++.
IAR Embedded Workbench provides a completely integrated development environment including a project manager, editor, build tools and debugger. In a continuous workflow, you can create source files and projects, build applications and debug them in a simulator or on hardware.
IAR Embedded Workbench offers the same intuitive user interface regardless of which microcontroller you have chosen to work with—coupled with general and target-specific support for each device.
Every IAR C/C++ 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.
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.
Integrated Development Environment
Project management allowing multiple projects in one workspace
Highly optimizing C and C++ compiler (*)
Configuration files for all supported devices
C-SPY simulator and hardware debugger systems
Support for RTOS-aware debugging on hardware
Run-time libraries
Relocating assembler
Linker and librarian tools
Ready-made code and project examples for supported evaluation boards
User and reference guides in PDF format
Context-sensitive online help
Hierarchical project presentation
Dockable windows and floating windows management with multiple views
Source browser
Library tools included for creating and maintaining libraries
Integration with Subversion and other source code control systems
Source code editor
Code templates for commonly used code constructs
Command line build utility
Build integration with IAR visualSTATE
Processor-specific support
Flexible memory handling allows detailed control of code and data placement
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.
IAR C/C++ Compiler
Support for C, Embedded C++ and C++
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++ (*)
Multi-file compilation support for even better code optimization
Automatic selection of smallest printf/scanf formatter
Position Independent Code and Data (PIC/PID)
IAR Assembler
A powerful relocating macro assembler with a versatile set of directives and operators
Built-in language preprocessor, accepting all C macro definitions
IAR Linker / IAR XLINK Linker
Complete linking, relocation and format generation to produce FLASH/PROMable code
Flexible memory handling allows detailed control of code and data placement
Optimized linking removing unused code and data
Application-wide type checking of C/C++ variables and functions at link time
Comprehensive cross-reference and dependancy memoory maps
Optional flexible checksum generation for image runtime verification
Automatic placement of code and data in non-contiguous memory regions
Direct linking of rae binary images, for instance multimedia files
C-SPY Debugger
Fully integrated debugger for source and disassembly level debugging
Very fine granularity execution control (function call-level stepping)
Complex code and data breakpoints
Versatile monitoring of data
STL container awareness
C/C++ call stack window that also shows the function to be entered; double click on any function in call chain updates the editor, Locals, Register, Watch and Disassembly windows to display the state of of that particular function at the time of call
Trace utility to examine execution history; moving around in the Trace window updates the editor and Disassembly windows to show the appropriate location
Terminal I/O emulation
Interrupt and I/O simulation
C-like macro system to extend debugger functionality
Application program system calls emulated by the host
Code Coverage and Profiling performance analysis tools
Generic flash loader
Stack usage analysis to calculate worst case maximum stack depth
Stack window to monitor the memory consumption and integrity of the stack
Symbolic memory window and static watch window
Timeline window allows graphically correlated visulization of the call stack, interrupt logs, data logs, power samples and user-defined events plotted against time
Complete support for stack unwinding even at high optimization levels
Extensive target system support
User selectable breakpoint types (hardware/software)
Debugging of several independently built images during one debug session
RTOS support
AVIX
CMX-RTX
CMX-Tiny+
Enea OSE
e-Force µC3/Compact
eSysTech X Realtime Kernel
eTaskSync
Express Logic ThreadX
FreeRTOS, OpenRTOS, SafeRTOS
Freescale MQX
Micrium µC/OS-III and µC/OS-II
Micro Digital SMX RTOS
NORTi MiSPO
OSEK Run Time Interface (ORTI)
Quadros RTXC
Sciopta
Segger embOS
TI-RTOS
Unicoi Fusion
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
Compiler Validation
IAR Systems uses the following commercial test suites to test conformance of tools to the standards:
Plum Hall Validation test suite for ISO/IEC C conformance
Perennial EC++VS (Embedded C++ validation suite) for Embedded C++ conformance
Dinkum C++ Proofer to test how libraries conform to the C and Embedded C++ standard as well as test STL implementation against the C++ standard.
In addition to the commercial suites IAR use several in-house test suites for testing new features, regression testing, corrected errors, etc.
User assistance
Excellent first-line support by local INDES-IDS engineer
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
User documentation and the GUI are available in English
System requirements
To install and run the IAR Embedded Workbench, you need the following:
A PC with Microsoft Windows XP(SP3), Vista(SP2), Windows 7 or Windows 8 (32-bit & 64-bit)
A Pentium processor with at least 1 Gbyte of RAM and 2 Gbytes of free disk space
Internet Explorer 7 or higher
Adobe® Reader® to access the product documentation
INDES-IDS BV offers solutions for Embedded Software Development as well as for the Telecommunication NEMS and Service Providers. In these markets we offer products of either the market leader or the innovation leaders. Our goal is to assist you to get to the market sooner by offering a combination of products, knowledge and services.