Integrated development environment and optimizing C/C++ compiler for ARM
IAR Embedded Workbench with its optimizing C/C++ compileris an integrated development environment for building and debugging ARM-based embedded applications. It provides extensive support for a wide range of ARM devices, hardware debug systems and RTOSs and generates very compact and efficient code. Ready-made device configuration files, flash loaders and over 1400 example projects are included.
IAR Embedded Workbench is compatible with other ARM EABI compliant compilers and supports the following ARM cores:
- ARM7 (ARM7TDMI, ARM7TDMI-S and ARM720T)
- ARM7E (ARM7EJ-S)
- ARM9 (ARM9TDMI, ARM920T, ARM922T and ARM940T)
- ARM9E (ARM926EJ-S, ARM946E-S and ARM966E-S, ARM968E-S)
- ARM10E (ARM1020E and ARM1022E)
- SecurCore (SC100, SC110, SC200, SC210)
- Integrated development environment with project management tools and editor
- Highly optimizing ARM compiler supporting C and C++. No limit on code size.
- Automatic checking of MISRA C rules (MISRA C:2004)
- ARM EABI compliance
- Configuration files for ARM chips from Actel, Analog Devices, Aiji Systems, ARM, Atmel, Cirrus Logic, Freescale, Keil, LogicPD, Luminary, Micronas, Nohau, OKI, Olimex, Pasat, NXP, Phytec, ST, Texas Instruments and Toshiba
- Extensive HW target system support
- Optional IAR J-Link and IAR J-Trace hardware debug probes
- 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
- Evaluation edition of IAR PowerPac RTOS, file system and USB stack bundle
- RTOS plugins available from IAR Systems and RTOS vendors
- Code templates for commonly used code constructs
- Sample projects for evaluation boards from many different manufacturers
- User and reference guides, both printed and in PDF format
- Context-sensitive online help
Supported ARM cores and devices
IAR Embedded Workbench supports ARM7, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Cortex M1, Cortex M3 and XScale devices from these manufacturers:
Analog Devices Micronas
Cirrus Logic Nuvoton
Energy Micro OKI
Fujitsu Texas Instruments
- Sample projects for evaluation boards from IAR Systems, Actel, Analog Devices, Aiji System, ARM, Atmel, Cirrus Logic, Freescale, Keil, LogicPD, Luminary, Micronas, Nohau, NXP, OKI, Olimex, Pasat, Phytec, Sharp, STMicroelectronics and Texas Instruments.
- 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.
- Flash loaders included for devices from Actel, Analog Devices, Atmel, Freescale, Luminary, Micronas, OKI, NXP, Sharp, STMicroelectronics and TI.
- ARM Angel debug monitor support.
Hardware debugging support
AnbyICE - Driver available from Anby
GDB server - For STR9-comStick development kit
IAR J-Trace - Supports all ARM7, ARM9 and Cortex-M3 cores. Connection via USB or TCP/IP server.
IAR J-Link - Supports all ARM7, ARM9 and Cortex-M3 cores. Connection via USB or TCP/IP server.
LMI FTDI - Luminary FTDI driver
Qinyan K-Link - Driver available from armzone.com
RDI - Abatron BDI1000 & BDI2000, EPI Majic, Ashling Opella, Aiji OpenICE, Signum JTAGjet, ARM Multi-ICE
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: IAR PowerPac CMX-RTX CMX-Tiny+ uC/OS-II Express Logic ThreadX RTXC Quadros Unicoi Fusion OSEK (ORTI) OSE Epsilon Micro Digital SMX RTOS NORTi MiSPO Segger embOS eSysTech X Realtime kernel
Operating system Built-in plugin
- IAR PowerPac
- Express Logic ThreadX
- OSEK (ORTI)
- OSE Epsilon
- Segger embOS
Operating system Vendor plugin
- eSysTech X Realtime kernel
- RTXC Quadros
- Unicoi Fusion
- Micro Digital SMX RTOS
- NORTi MiSPO
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.