# IAR Systems

IAR Systems is a Swedish computer software company that offers development tools for embedded systems. IAR Systems was founded in 1983, and is listed on Nasdaq Nordic in Stockholm. IAR is an abbreviation of Ingenjörsfirma Anders Rundgren, which means Anders Rundgren Engineering Company.
IAR Systems develops C and C++ language compilers, debuggers, and other tools for developing and debugging firmware for 8-, 16-, 32-, and 64-bit processors. The firm began in the 8-bit market, later moved into the expanding 32-bit market and, in more recent years, added 64-bit support to its Arm (2021) and RISC-V (2022) toolchains.
IAR Systems is headquartered in Uppsala, Sweden, and has more than 200 employees globally. The company operates subsidiaries in Germany, France, India, Japan, South Korea, China, United States, Taiwan, and United Kingdom and reaches the rest of the world through distributors. IAR Systems is a subsidiary of IAR Systems Group.

## Products

* IAR Embedded Workbench – an integrated development environment including a C/C++ compiler, the code analysis tools C-STAT and C-RUN, and the C-SPY debugger.
* IAR Build Tools - the command line version of IAR Embedded Workbench, tailored for Continuous Integration, available for Windows and Linux hosts.
* IAR Visual State – a design tool for developing event-driven programming systems based on the event-driven finite-state machine paradigm. IAR Visual State presents the developer with the finite-state machine subset of Unified Modeling Language (UML) for C, C++, C# or Java code generation. By restricting the design abilities to state machines, it is possible to employ formal model checking to find and flag unwanted properties like state dead-ends and unreachable parts of the design. It is not a full UML editor.
Functional Safety certified options are available for IAR Embedded Workbench and IAR Build Tools.

### 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. 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 RV32I, RV32E and RV64I base integer instruction sets and a wide range of standard and non-standard extensions.
ISO/ANSI C Compliance; as of March 2017:
* 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)
* ISO/IEC 9899:2018 (known as C17). (first available in ARM v8.40 tools)
ISO/ANSI C++ Compliance; as of March 2017:
* ISO/IEC 14882:2003 (known as C++03).
* ISO/IEC 14882:2014 (known as C++14). (first available in ARM v8.10 tools)
* ISO/IEC 14882:2017 (known as C++17). (first available in ARM v8.30 tools)
Embedded C++ Compliance; as of February 2015:
* 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 3
* MISRA C++:2008