IAR Embedded Workbench for ARM

IAR Systems has a long and fruitful relationship with ARM. IAR Embedded Workbench for ARM supports all available ARM cores, from all major vendors. Outstanding speed optimizations enable IAR Embedded Workbench to generate the fastest performing code and the shortest possible execution times, delivering best-in-class CoreMark results.

The latest version of this product, version 7.30, adds support for the new ARM Cortex-M7 core.

Version 7.20 introduced C-RUN. An evaluation version of C-RUN is included in the evaluation version of IAR Embedded Workbench for ARM, available for download below.

Version 7.10 adds multicore debugging and automatic NEON vectorization.

Version 6.70 highlights: examples on demand, improved integration with Freescale Processor Expert, new pragma directives and new device support. 

C-RUN for ARM  – Runtime Analysis

C-RUN is a high-performance runtime analysis add-on product, fully integrated with IAR Embedded Workbench. C-RUN performs runtime analysis by monitoring application execution directly within the development environment. The tight integration with the toolchain improves development workflow and provides each developer with access to runtime analysis that is easy-to-use.

Read more about C-RUN on the product detail page >>

How to enable C-RUN 

You enable C-RUN by simply ticking the
Enable box in:
Project ->
Options… ->
Runtime Checking 

(see image).

Ready-made device configuration files, flash loaders and 4,300 example projects are included. IAR Embedded Workbench is compatible with other ARM EABI compliant compilers and supports the following ARM cores:

ARM Cortex
  • Cortex-A15
  • Cortex-A9
  • Cortex-A8
  • Cortex-A7
  • Cortex-A5
  • Cortex-R7
  • Cortex-R5(F)
  • Cortex-R4(F)
  • Cortex-M7
  • Cortex-M4(F)
  • Cortex-M3
  • Cortex-M1
  • Cortex-M0+
  • Cortex-M0
Broad support 
  • ARM11
  • ARM9E (ARM926EJ-S, ARM946E-S and ARM966E-S, ARM968E-S)
  • ARM9 (ARM9TDMI, ARM920T, ARM922T and ARM940T)
  • ARM7E (ARM7EJ-S)
  • SecurCore (SC000, SC100, SC110, SC200, SC210, SC300)
  • XScale


Key Components:

  • Integrated development environment with project management tools and editor
  • Highly optimizing C and C++ compiler for ARM
  • Automatic checking of MISRA C rules (MISRA C:2004)
  • ARM EABI and CMSIS compliance
  • Compiler vectorization support for NEON 
  • Extensive HW target system support
  • Optional I-jet and JTAGjet-Trace in-curcuit debugging probes
  • Multicore debugging with support for symmetric multicore processing (SMP) and asymmetric multicore processing (AMP)
  • Power debugging to visualize power consumption in correlation with source code
  • Run-time libraries including source code
  • Relocating ARM assembler
  • Linker and librarian tools
  • C-SPY® debugger with ARM simulator, JTAG support and support for RTOS-aware debugging on hardware
  • RTOS plugins available from IAR Systems and RTOS vendors
  • Over 3100 sample projects for evaluation boards from many different manufacturers
  • User and reference guides in PDF format
  • Context-sensitive online help

Chip-specific support:

  • 4,300 example projects for evaluation boards from IAR Systems, Actel, Analog Devices, Aiji Systems, ARM, Atmel, Cirrus Logic, EnergyMicro, Freescale, Fujitsu, Holtek, LogicPD, Micronas, Nohau, Nuvoton, NXP, OKI, Olimex, ON Semiconductor, Pasat, Phytec, Renesas, Samsung, ST, Texas Instruments, Toshiba and more.
  • Support for 4 Gbyte applications in ARM and Thumb mode
  • Each function can be compiled in ARM or Thumb mode
  • VFP Vector Floating Point coprocessor code generation

Hardware debugging support:

Probe (JTAG/SWD) Note
I-jet Supports all ARM7,ARM9,ARM11 and Cortex-M/R/A cores. Enables power debugging.
JTAGjet-Trace Supports ETM on all ARM7,ARM9,ARM11 and Cortex-M/R/A cores.
Supports all ARM7,ARM9,ARM11 and Cortex-M/R/A cores.
Supports all ARM7,ARM9,ARM11 and Cortex-M/R/A cores.
J-Link Ultra
Supports all ARM7,ARM9,ARM11 and Cortex-M/R/A cores. Supports power debugging on Cortex-M4/M5 cores.
J-Trace Supports ETM on all ARM7, ARM9 and Cortex-M3/M4 cores, and JTAG/SWD on the same cores as J-Link.
RDI Supports RDI (Remote Debug Interface) based debug probes. 
GDB server  
TI XDS100/200/ICDI Supports TI devices
LMI FTDI driver
Macraigor OCDemon mpDemon, usbDemon, usb2Demon, usb2Sprite
P&E Micro JTAG probes Multilink, Cyclone, OSJTAG
STMicroelectronics ST-LINK V2 Supports STM32 devices
STMicroelectronics ST-LINK Supports STM32 devices
Atmel-ICE Supports Atmel | SMART ARM-based MCUs (uses CMSIS-DAP)
SAM-ICE Supports Atmel | SMART ARM-based MCU & MPUs
mIDASLink Supports devices from Analog Devices
ROM-monitor Note
IAR ROM-monitor      
Used in boards from Analog Devices, NXP, and OKI.
Angel ROM-monitor
Used in boards from Atmel and Cirrus Logic.

RTOS support:

Operating system Built-in plugin Vendor plugin
AVIX Yes  
CMX-Tiny+ Yes  
e-Force µC3/Compact   Yes
eSysTech X Realtime kernel   Yes
Express Logic ThreadX Yes  
FreeRTOS, OpenRTOS, SafeRTOS Yes  
Freescale MQX Yes  
Micrium µC/OS-III Yes  
Micrium µC/OS-II Yes  
Micro Digital SMX RTOS   Yes
Quadros RTXC Yes  
Sciopta   Yes
Segger embOS Yes  
Unicoi Fusion   Yes

Each RTOS plugin installs a number of new windows in C-SPY, most importantly the task or thread list windows where task-specific breakpoints can be specified and task-specific steps executed. Different inspector windows display the contents of the internal data structures of the RTOS such as timers, queues, semaphores, resources and mailboxes.

Supported devices:

IAR Embedded Workbench supports ARM7, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Cortex M0,  M0+, M1, M3, M4(F), R4(F), M7, R5, R7, A5, A7, A8, A9, A15, and XScale devices from these manufacturers.

Note: Our partners frequently release new devices and the latest ones may not be listed here. We continually add support to new devices. Please contact IAR Systems to find out whether your new device is already supported or when it will become available.