IAR Systems is a
Swedish
Swedish or ' may refer to:
Anything from or related to Sweden, a country in Northern Europe. Or, specifically:
* Swedish language, a North Germanic language spoken primarily in Sweden and Finland
** Swedish alphabet, the official alphabet used by ...
computer
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
company that offers
development tool
A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can b ...
s for
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s. IAR Systems was founded in 1983, and is listed on
Nasdaq Nordic
Nasdaq Nordic is the common name for the subsidiaries of Nasdaq, Inc. that provide financial services and operate marketplaces for securities in the Nordic and Baltic regions of Europe.
Historically, the operations were known by the company ...
in
Stockholm
Stockholm () is the Capital city, capital and List of urban areas in Sweden by population, largest city of Sweden as well as the List of urban areas in the Nordic countries, largest urban area in Scandinavia. Approximately 980,000 people liv ...
. IAR is an abbreviation of Ingenjörsfirma Anders Rundgren, which means Anders Rundgren Engineering Company.
IAR Systems develops
C and
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
language
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s,
debugger
A debugger or debugging tool is a computer program used to software testing, test and debugging, debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the pr ...
s, and other tools for developing and debugging
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
for
8-,
16-, and
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
processors
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, ...
. The firm began in the 8-bit market, but moved into the expanding 32-bit market, more so for 32-bit
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
s.
IAR Systems is headquartered in
Uppsala
Uppsala (, or all ending in , ; archaically spelled ''Upsala'') is the county seat of Uppsala County and the List of urban areas in Sweden by population, fourth-largest city in Sweden, after Stockholm, Gothenburg, and Malmö. It had 177,074 inha ...
, Sweden, and has more than 200 employees globally. The company operates subsidiaries in
Germany
Germany,, officially the Federal Republic of Germany, is a country in Central Europe. It is the second most populous country in Europe after Russia, and the most populous member state of the European Union. Germany is situated betwe ...
,
France
France (), officially the French Republic ( ), is a country primarily located in Western Europe. It also comprises of Overseas France, overseas regions and territories in the Americas and the Atlantic Ocean, Atlantic, Pacific Ocean, Pac ...
,
Japan
Japan ( ja, 日本, or , and formally , ''Nihonkoku'') is an island country in East Asia. It is situated in the northwest Pacific Ocean, and is bordered on the west by the Sea of Japan, while extending from the Sea of Okhotsk in the north ...
,
South Korea
South Korea, officially the Republic of Korea (ROK), is a country in East Asia, constituting the southern part of the Korea, Korean Peninsula and sharing a Korean Demilitarized Zone, land border with North Korea. Its western border is formed ...
,
China
China, officially the People's Republic of China (PRC), is a country in East Asia. It is the world's most populous country, with a population exceeding 1.4 billion, slightly ahead of India. China spans the equivalent of five time zones and ...
,
United States
The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or America, is a country primarily located in North America. It consists of 50 states, a federal district, five major unincorporated territorie ...
, and
United Kingdom
The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom (UK) or Britain, is a country in Europe, off the north-western coast of the continental mainland. It comprises England, Scotland, Wales and North ...
and reaches the rest of the world through distributors. IAR Systems is a subsidiary of
IAR Systems Group.
Products
* IAR Embedded Workbench – a development environment that includes a C/C++ compiler, code analysis tools C-STAT and C-RUN, security tools C-Trust and Embedded Trust, and debugging and trace probes
* Functional Safety Certification option
* Visual State – a design tool for developing
event-driven programming
In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions ( mouse clicks, key presses), sensor outputs, or message passing from other programs or t ...
systems based on the
event-driven finite-state machine
In computation, a finite-state machine (FSM) is event driven if the transition from one state to another is triggered by an event or a message. This is in contrast to the parsing-theory origins of the term finite-state machine where the machine ...
paradigm. IAR Visual State presents the developer with the
finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
subset of
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
(UML) for C/C++ code generation. By restricting the design abilities to state machines, it is possible to employ formal
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software systems ...
to find and flag unwanted properties like state dead-ends and unreachable parts of the design. It is not a full UML editor.
*IAR KickStart Kit – a series of software and hardware evaluation environments based on various microcontrollers.
IAR Embedded Workbench
The toolchain IAR Embedded Workbench, which supports more than 30 different processor families, is a complete
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE) with
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
, analysis tools,
debugger
A debugger or debugging tool is a computer program used to software testing, test and debugging, debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the pr ...
,
functional safety Functional safety is the part of the overall safety of a system or piece of equipment that depends on automatic protection operating correctly in response to its inputs or failure in a predictable manner (fail-safe). The automatic protection system ...
, and
security
Security is protection from, or resilience against, potential harm (or other unwanted coercive change) caused by others, by restraining the freedom of others to act. Beneficiaries (technically referents) of security may be of persons and social ...
. The development tools support these targets: 78K,
8051,
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
AVR,
AVR32, CR16C,
Coldfire
The NXP ColdFire is a microprocessor that derives from the Motorola 68000 family architecture, manufactured for embedded systems development by NXP Semiconductors. It was formerly manufactured by Freescale Semiconductor (formerly the semiconductor ...
, H8, HCS12, M16C, M32C,
MSP430
The MSP430 is a mixed-signal microcontroller family from Texas Instruments, first introduced on 14 February 1992. Built around a CPU, the MSP430 is designed for low cost and, specifically, low power consumption embedded applications.
Applic ...
, Maxim MAXQ,
RISC-V
RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
RV32, R32C, R8C, RH850, RL78, RX, S08, SAM8, STM8,
SuperH
SuperH (or SH) is a 32-bit reduced instruction set computing (RISC) instruction set architecture (ISA) developed by Hitachi and currently produced by Renesas. It is implemented by microcontrollers and microprocessors for embedded systems.
At t ...
, V850. Supported ARM core families are:
ARM7
ARM7 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM7 core family consists of ARM700, ARM710, ARM7DI, ARM710a, ARM720T, ARM740T, ARM710T, ARM7TDMI, ARM7TDMI-S, ARM7EJ-S. The ARM7TDMI a ...
,
ARM9
ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996 ...
,
ARM10
This is a list of central processing units based on the ARM family of instruction sets designed by ARM Ltd. and third parties, sorted by version of the ARM instruction set, release and name. In 2005, ARM provided a summary of the numerous vendor ...
,
ARM11
ARM11 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings. The ARM11 core family consists of ARM1136J(F)-S, ARM1156T2(F)-S, ARM1176JZ(F)-S, and ARM11MPCore. Since ARM11 cores were released from 2002 to 2005, they are no lon ...
, Cortex:
M0,
M0+,
M1,
M3,
M4,
M7,
M23,
M33;
R4,
R5,
R7;
A5,
A7,
A8,
A9,
A15,
A17.
RISC-V
RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
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:
[Embedded Workbench language standards; IAR.](_blank)
/ref>
* 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
C99 (previously known as C9X) is an informal name for ISO/IEC 9899:1999, a past version of the C programming language standard. It extends the previous version ( C90) with new features for the language and the standard library, and helps impl ...
) including up to technical corrigendum No3.
* ISO/IEC 9899:2011 (known as C11 C11, C.XI, C-11 or C.11 may refer to:
Transport
* C-11 Fleetster, a 1920s American light transport aircraft for use of the United States Assistant Secretary of War
* Fokker C.XI, a 1935 Dutch reconnaissance seaplane
* LET C-11, a license-build var ...
). (first available in ARM v8.10 tools)[IAR Systems delivers major update of ARM development tools (v8.10); IAR Systems; March 14, 2017.](_blank)
/ref>
* 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
C, or c, is the third letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''cee'' (pronounced ), plural ''cees''.
History
"C" ...
).
* ISO/IEC 14882:2014 (known as C++14
C++14 is a version of the ISO/IEC 14882 standard for the C++ programming language. It is intended to be a small extension over C++11, featuring mainly bug fixes and small improvements, and was replaced by C++17. Its approval was announced on August ...
). (first available in ARM v8.10 tools)
* ISO/IEC 14882:2017 (known as C++17
C++17 is a version of the ISO/IEC 14882 standard for the C++ programming language. C++17 replaced the prior version of the C++ standard, called C++14, and was later replaced by C++20.
History
Before the C++ Standards Committee fixed a 3-year rel ...
). (first available in ARM v8.30 tools)IAR Embedded Workbench for ARM version 8.30.1
/ref>
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
MISRA C is a set of software development guidelines for the C programming language developed by The MISRA Consortium. Its aims are to facilitate code safety, security, portability and reliability in the context of embedded systems, specifically ...
:2004
* MISRA C:2012 Amendment 1
* MISRA C++:2008
References
External links
* {{Official website, www.iar.com
Software companies of Sweden
Companies based in Uppsala County
Companies established in 1983
Embedded systems