IAR Embedded Workbench
The toolchain IAR Embedded Workbench, which supports more than 30 different processor families, is a complete integrated development environment (IDE) with compiler, analysis tools, debugger, functional safety, and security. The development tools support these targets: 78K, 8051, ARM, AVR, AVR32, CR16C, Coldfire, H8, HCS12, M16C, M32C, MSP430, Maxim MAXQ, RISC-V RV32, R32C, R8C, RH850, RL78, RX, S08, SAM8, STM8, SuperH, V850.[2] Supported ARM core families are: ARM7, ARM9, ARM10, ARM11, Cortex: M0, M0+, M1, M3, M4, M7, M23, M33; R4, R5, R7; A5, A7, A8, A9, A15, A17. RISC-V tools support the RV32 32-bit cores and extensions in version one. Future releases will include support for 64-bits, and the smaller RV32E base instruction set, functional safety certification, and security solutions.
ISO/ANSI C Compliance; as of March 2017:[3][4]
- ANSI X3.159-1989 (known as C89).
- ISO/IEC 9899:1990 (known as C89 or C90) including all technical corrigenda and addenda.
- ISO/IEC 9899:1999 (known as C99) including up to technical corrigendum No3.
- ISO/IEC 9899:2011 (known as C11). (first available in ARM v8.10 tools)[4]
- ISO/IEC 9899:2018 (known as C17). (first available in ARM v8.40 tools)[5]
ISO/ANSI C++ Compliance; as of March 2017:[3][4]
- ISO/IEC 14882:2003 (known as C++03).
- ISO/IEC 14882:2014 (known as C++14). (first available in ARM v8.10 tools)[4]
- ISO/IEC 14882:2017 (known as C++17). (first available in ARM v8.30 tools)[6]
Embedded C++ Compliance; as of February 2015:[3]
- C++ as defined by ISO/IEC 14882:2003.
- Embedded C++ (EC++) as defined by Embedded C++ Technical Committee Draft, Version WP-AM-0003, 13 October 1999.
- Extended Embedded C++, defined by IAR Systems.
MISRA C Rule Checking Conformance:
- MISRA C:2004
- MISRA C:2012 Amendment 1
- MISRA C++:2008