IAR Embedded Workbench for Arm
IAR Embedded Workbench for ARM is an integrated development environment (IDE) designed for building and debugging embedded applications for the ARM microprocessor. It includes a C/C++ compiler able to achieve a high level of optimization, thus generating a very compact and efficient FLASH/PROMable code.
A modular and extensible IDE
The IAR Embedded Workbench IDE offers powerful and useful features such as:
- A project manager able to control multiple project in the same workspace
- Each project can be represented by a hierarchical structure
- Tool options can be configured on single files, on group of files, or at a global level
- Support for multi-file compilation able to achieve an extremely high code optimization
- Integration with source code configuration management tools
The following picture gives an idea of how the IAR Workbench IDE looks like:
Wide support for ARM processors
The support for several kinds of ARM processor is provided, including the following:
- ARM7 (ARM7TDMI, ARM7TDMI-S and ARM720T)
- ARM7E (ARM7EJ-S)
- ARM9 (ARM9TDMI, ARM920T, ARM922T and ARM940T)
- ARM9E (ARM926EJ-S, ARM946E-S and ARM966E-S)
- ARM10E (ARM1020E and ARM1022E)
- ARM11
- SecurCore (SC100, SC110, SC200, SC210)
- Cortex-M1
- Cortex-M3
- Xscale
Peripheral register definitions is already included and ready-to-use for ARM devices of the following manufacturers: Actel, Analog Devices, Aiji Systems, ARM, Atmel, Cirrus Logic, Freescale, Keil, LogicPD, Luminary, Micronas, Nohau, OKI, Olimex, Pasat, NXP, Phytec, STMicroelectronics, Texas, etc.
Besides the C/C++ compiler, the following tools are included in the Workbench: assembler, linker, librarian, text editor, project manager and the C-SPY Debugger. A flash loader for most devices and over 1400 example projects are included in the IAR Workbench.
Optimizing C/C++ compiler
The compiler that comes with the Workbench has several outstanding features; among them, the following shall be mentioned:
- Complete support for C and C++, including namespace, templates, Standard Template Library (STL)
- Compliance with EABI (Embedded Application Binary Interface) and CMSIS (ARM Cortex Microcontroller Software Interface Standard)
- Support for MISRA C checking rules (MISRA C 2004 version)
- Support for 4 Gb applications in all processor modes
- Support for 64-bit long-long
- Reentrant code
- 32- and 64-bit floating point types in standard IEEE format
- Interrupt functions (ISR) can be written directly in C/C++
- Run-time libraries are provided together with the corresponding source code
- Over 1400 example projects for various evaluation boards
The C-SPY debugger
IAR C-SPY can be used to debug either a software or a target system. C-SPY is a high-level-language debugger for embedded applications: it is designed to be used with the IAR Systems compiler and assembler for ARM, and is completely integrated in the IDE, providing development and debugging within the same application. C-SPY debuggers for most ARM devices are available in a simulator, emulator, and ROM-monitor versions. The simulator version simulates the functions of the target processor entirely in software. The Emulator version provides control over an in-circuit emulator, which is connected to the host computer; typical interfaces include: IAR J-Link probe with USB or Ethernet connection, JTAG, Remote Debug Interface (RDI), etc. The ROM-monitor version provides a low-cost solution to real-time debugging. C-SPY debugger characteristics can be summarized as follows:
- Support for Cortex-M3 processor
- Breakpoints can be set either in hardware and in software mode
- Stack contents are analyzed in a real–time manner: a specific stack window monitors the stack integrity and utilization during the program execution. Stack unwinding is supported even at higher optimization level
- Tools for static analysis, code coverage estimation are also provided with the debugger
- Advanced trace utility to report flow of application during its execution; expressions, registers, variables, and data memory contents can be easily inspected and evaluated
- Full simulation of interrupts and I/O interfaces
The following picture shows an application being debugged with the C-SPY tool.

RTOS support
IAR Embedded Workbench for ARM includes support for many different RTOS. Some of them are handled through built-in plugins, others require a vendor plugin. Among the first group members shall be mentioned: IAR PowerPac, CMX-RTX/Tiny+, Micrium μC/OS-II, OSE Epsilon, OSEK (ORTI).
Each RTOS plugin installs a number of new windows in the C-SPY debugger. In particular, are very important and useful the task or thread list windows where task-specific breakpoints can be organized and task-specific steps can be executed. Different inspector windows allow then to display the contents of the internal data structures of the RTOS such as timers, queues, semaphores, resources and mailboxes.
IAR PowerPac
IAR Embedded Workbench for ARM includes also the evaluation edition of IAR PowerPac, a small memory footprint RTOS combined with a versatile file system. The bundled evaluation version of IAR PowerPac supports three tasks for the RTOS and one open file in the file system.
IAR PowerPac is a complete real-time operating system (RTOS) which is based on a high performance file system. IAR PowerPac is deeply integrated with IAR Embedded Workbench and is provided with sample projects and board support packages for ARM devices from different manufacturers.
The IAR PowerPac family includes also two other products: IAR PowerPac USB and IAR PowerPac TCP/IP. They are sold as add-on options to IAR PowerPac for ARM. IAR PowerPac FTP server is an optional extension which adds the FTP protocol to the IAR PowerPac TCP/IP stack.
IAR PowerPac for ARM supports ARM7, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Cortex M3, and XScale devices.
Eclipse integration
The ARM development tools from IAR Systems can be integrated in the Eclipse IDE. This allows the Eclipse user to build an application using IAR C/C++ Compiler, IAR Assembler and IAR ILINK Linker. Debugging in Eclipse is not supported, but the generated application code can be debugged using C-SPY Debugger. The Eclipse plugin necessary to integrate IAR Systems tools in Eclipse can be obtained free of charge by contacting info@iar.se.
Evaluation edition
An evaluation edition of IAR Embedded Workbench for ARM with a 30-day license can be downloaded from here.
Read the Italian version: IAR Embedded Workbench per Arm
- slovati's blog
- 1940 reads





Post new comment