Arm C/C++ Compiler

The Arm Compiler is the result of over 30 years of development alongside the Arm architecture. The Arm Compiler toolchain incorporates a highly optimizing C/C++ compiler, assembler, linker and libraries for embedded software development.

Billions of devices containing software built with Arm tools have shipped to date, covering all embedded markets. Whether your industry is automotive, industrial, medical, or railway industries, the Arm compiler can play a key role in optimizing your code. 

The compiler makes best use of all features of Arm Cortex processors and architectures, from Armv6-M to Armv8-A 64-bit Arm.

Features and Benefits

Architectural Precision

The Arm Compiler for Embedded is developed in close collaboration with Arm's processor and architecture teams, ensuring precise alignment with Arm’s processor designs and architectural innovations.

Optimized for Real-World Use Cases

The Arm Compiler for Embedded is fine-tuned to handle a wide variety of embedded workloads, rather than being tailored for just a single benchmark. It excels in optimizing workloads for bare-metal systems or embedded RTOS environments, where factors like responsiveness and efficiency are critical.

Compact Code Generation

The Arm Compiler for Embedded enhances the space-saving capabilities of Arm’s C/C++ embedded toolchains, particularly for Cortex-M devices. It combines proven techniques for code density with advanced link-time optimizations to eliminate unused and redundant code, resulting in smaller, more efficient binaries.

Advanced Auto-Vectorization

Built alongside Arm’s SIMD (Single Instruction Multiple Data) architecture extensions—such as Neon and SVE—the Arm Compiler for Embedded features sophisticated auto-vectorization capabilities, maximizing performance from these advanced vector processing technologies.

Modern Language Support

To meet developers’ evolving needs, the Arm Compiler 6 incorporates up-to-date support for the latest advancements in C and C++ language standards, allowing developers to fully utilize new and extended language features.

Bare-Metal Development Package

Specifically designed for C and C++ application development, the Bare-Metal Package streamlines the development of firmware and real-time OS (RTOS) applications, ensuring efficiency and performance for embedded systems.

TÜV Certification, Compiler Qualification Kit & Extended Maintenance

TÜV SÜD seal for Arm compiler

With a TÜV certificate and a comprehensive Qualification Kit, Arm Compiler for functional safety greatly simplifies the overall Tool Qualification process, allowing end-users to focus on their end-product development.

Arm Compiler for functional safety is qualified for developing software that meets the highest level of safety integrity for the following standards:

  • IEC 61508 (Industrial) – SIL 3
  • ISO 26262 (Automotive) – ASIL D
  • EN 50128 (Railways) – SIL 4
  • IEC 62304 (Medical) – Class C

For other safety standards, many of which have been derived from IEC 61508, the Qualification Kit provides the key information required by end-users need to perform Tool Validation.

The Arm Compiler Qualification Kit consists of a significant body of supporting evidence derived from the compiler development process. This includes defect reports, C90/C99 test reports and a compiler safety manual, so that you can increase your confidence in the compliance to standards.

To complement this there is an option of Extended Maintenance and Support to protect your safety-critical projects against toolchain obsolescence. Initially supported in Arm Compiler, Extended Maintenance and Support is intended to maximize the stability of a fixed branch of the compiler toolchain by providing bug fixes and patches for a minimum of 5 years.

The Arm Compiler Qualification Kit with Extended Maintenance is available for Arm Keil MDK and the Arm Development Studio.