Overview

Arm Compiler provides the earliest, most complete, and most accurate support for the latest architectural features and extensions of the Arm architecture. Arm Compiler supports all the latest Arm Cortex, Neoverse, and SecurCore processors, including cores that are in development.

Arm Compiler is a mature toolchain that is tailored to the development of bare-metal software, firmware, and Real-Time Operating System (RTOS) applications. Arm Compiler is used by leading companies in a wide variety of industries, including automotive (ISO 26262), consumer electronics, industrial (IEC 61508), medical (IEC 62304), networking, railway (EN 50128), storage, and telecommunications. For HPC and scientific applications, see the Linux user-space C/C++ Compiler and Linux user-space Fortran compiler.

The Arm Compiler includes many powerful space-saving and performance-enhancing optimization techniques, including low-level microarchitecture-specific instruction scheduling, unused section elimination, and aggressive Link-Time Optimization (LTO).

Components

  • armclang:
    • Is built on modern LLVM and Clang technology
    • Supports GNU syntax assembly
    • Is highly compatible with source code originally written for GCC
    • Implements specifications including ANSI/ISO C and C++, ABI for the Arm architecture, ABI for the 64-bit Arm architecture, and Arm C Language Extensions (ACLE)

  • armlink: Feature-rich dedicated embedded linker that combines objects and libraries to produce an executable

  • Arm C libraries: Optimized by Arm for performance and code density, and include the tiny MicroLib for deeply embedded applications.

  • Arm C++ libraries: Libraries based on the LLVM libc++ project

  • fromelf: Image conversion utility and disassembler

  • armar: Archiver that enables sets of object files to be collected together

Workflow

Arm Compiler workflow diagram

Use cases

Optimize resources icon black

Develop efficient software

From low-cost, memory-constrained embedded systems to high-end complex heterogeneous systems, Arm Compiler is optimized for a range of embedded workloads, with performance and code density that can be tuned for your specific target application.

Validated foundation icon black

Verify system design

Developed in collaboration with Arm processor and architecture projects, Arm Compiler is the ideal toolchain for verifying your design. Arm Compiler provides the earliest, most complete, and most accurate support for the latest Arm cores and architectural extensions.

Hardware icon black

Explore Arm architecture features

Selecting the right Arm IP is one of the most important decisions for your SoC design. Combined with Arm Flexible Access, Arm Compiler lets you evaluate which Arm solution best suits your application and market requirements.

Secuirty shield icon black

Build safety-critical code

Developing complex safety-related applications can be challenging and time-consuming. Specific releases of Arm Compiler and the C Libraries have been certified by TÜV SÜD for development to the most demanding Safety Integrity Levels (SIL), accelerating your certification process.

Security lock icon black

Develop for secure systems

Some critical systems, like Secure firmware, have specific security requirements. Arm Compiler lets you generate execute-only code, and securely interface between Secure and Non-secure software in systems that implement TrustZone for  Armv8-M.

Get Arm Compiler

Black coloured download icon

Try Arm Compiler

Get a free 30-day license for Arm Compiler in Development Studio, or through a seven-day evaluation of Keil MDK Professional.

Evaluate

Support

Community Forums

Answered Forum FAQs
  • ARM Community
0 votes 457 views 0 replies Started 4 months ago by Annie Answer this
Suggested answer Meet build error with ARMCT5.06 Build 960 0 votes 167 views 3 replies Latest 16 hours ago by Ronan Synnott Answer this
Answered Arm Compiler V6.15 LTO Optimizations and -Oz
  • Keil MDK
  • Arm Compiler 6
  • Variable
  • Cortex-M0+
0 votes 130 views 1 replies Latest yesterday by Ronan Synnott Answer this
Answered Compile and execute code on Foundation platform
  • GCC
  • Armv8 Foundation Platform
  • Fixed Virtual Platforms (FVPs)
0 votes 165 views 2 replies Latest yesterday by Ronan Synnott Answer this
Suggested answer I2c implementation between MCU and sensor 0 votes 129 views 1 replies Latest 12 days ago by Andy Neil Answer this
Not answered how to compile c code with cde functions(like __arm_cx1a) using gcc arm toolchain 0 votes 104 views 0 replies Started 12 days ago by Adahill Answer this
Answered Ramfunction with armclang and LTO and -Oz
  • Arm Compiler 6
  • optimization
0 votes 975 views 5 replies Latest 15 days ago by Roman Khazanskii Answer this
Not answered AC6 peripheral register structural access issues
  • MDK-Arm
  • Arm Compiler 6
  • Peripheral Devices
  • Registers
  • Arm Compiler
  • Arm Compiler 5
0 votes 142 views 0 replies Started 19 days ago by BJS Answer this
Suggested answer Relocating entire object or library to SRAM
  • Arm Compiler 6
  • SRAM
0 votes 362 views 2 replies Latest 20 days ago by R Lam Answer this
Suggested answer How can Gcc work with itcm of stm32h7x 0 votes 381 views 2 replies Latest 22 days ago by Ronan Synnott Answer this
Suggested answer Go to definition inactive with Arm Compiler 6
  • Arm Compiler 6
0 votes 651 views 9 replies Latest 25 days ago by Roman Khazanskii Answer this
Suggested answer Installation of Armclang compiler 0 votes 259 views 2 replies Latest 25 days ago by Ronan Synnott Answer this
Answered Forum FAQs Started 4 months ago by Annie 0 replies 457 views
Suggested answer Meet build error with ARMCT5.06 Build 960 Latest 16 hours ago by Ronan Synnott 3 replies 167 views
Answered Arm Compiler V6.15 LTO Optimizations and -Oz Latest yesterday by Ronan Synnott 1 replies 130 views
Answered Compile and execute code on Foundation platform Latest yesterday by Ronan Synnott 2 replies 165 views
Suggested answer I2c implementation between MCU and sensor Latest 12 days ago by Andy Neil 1 replies 129 views
Not answered how to compile c code with cde functions(like __arm_cx1a) using gcc arm toolchain Started 12 days ago by Adahill 0 replies 104 views
Answered Ramfunction with armclang and LTO and -Oz Latest 15 days ago by Roman Khazanskii 5 replies 975 views
Not answered AC6 peripheral register structural access issues Started 19 days ago by BJS 0 replies 142 views
Suggested answer Relocating entire object or library to SRAM Latest 20 days ago by R Lam 2 replies 362 views
Suggested answer How can Gcc work with itcm of stm32h7x Latest 22 days ago by Ronan Synnott 2 replies 381 views
Suggested answer Go to definition inactive with Arm Compiler 6 Latest 25 days ago by Roman Khazanskii 9 replies 651 views
Suggested answer Installation of Armclang compiler Latest 25 days ago by Ronan Synnott 2 replies 259 views