Are you working on a project that requires safety certification?

Arm Compiler for Embedded FuSa is a qualified toolchain optimized for Arm processors to help developing safety-critical applications simpler and faster.

Learn more

Overview

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

Arm Compiler for Embedded is a mature toolchain that is tailored to the development of bare-metal software, firmware, and Real-Time Operating System (RTOS) applications. Arm Compiler for Embedded 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 for Embedded 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 for Embedded 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 for Embedded is the ideal toolchain for verifying your design. Arm Compiler for Embedded 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 for Embedded 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. Arm Compiler for Embedded FuSa and the Arm Certified C Library have been endorsed by TÜV SÜD for use in safety 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 for Embedded 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 for Embedded

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

Evaluate

Support

Community Forums

Answered Forum FAQs
  • ARM Community
0 votes 1095 views 0 replies Started 1 years ago by Annie Answer this
Suggested answer GNU ARM Embedded Toolchain not detected by VSCode
  • GNU Arm
0 votes 306 views 1 replies Latest 12 days ago by 42Bastian Schick Answer this
Answered armclang and memcpy: Weird behavior
  • Arm Compiler 6
  • Cortex-M7
  • Armv7-M
0 votes 1273 views 11 replies Latest 12 days ago by a.surati Answer this
Answered How to download the SRAM compiler on ARM web?
  • SRAM
  • Arm Compiler
0 votes 218 views 1 replies Latest 16 days ago by Ronan Synnott Answer this
Answered How to adapt tutorial for C++ development?
  • C++
  • Cortex-M
0 votes 303 views 2 replies Latest 20 days ago by frank_ Answer this
Answered can't find CMSIS 5 DSP library
  • Digital Signal Processor (DSP)
  • CMSIS
0 votes 186 views 1 replies Latest 22 days ago by Ronan Synnott Answer this
Suggested answer fill flash with data 0 votes 5152 views 8 replies Latest 23 days ago by Ronan Synnott Answer this
Answered When using Omax to compile and link, L6654 error occurs (compiler 6.17) 0 votes 1937 views 4 replies Latest 1 months ago by Ronan Synnott Answer this
Not answered xPack Arm Embedded GCC 10.3.1-2.1 released 0 votes 188 views 0 replies Started 1 months ago by Liviu Ionescu Answer this
Answered Wrong download url for GNU Arm Embedded Toolchain 0 votes 407 views 2 replies Latest 1 months ago by vvinayag Answer this
Suggested answer Error - Subtractive relocations not supported 0 votes 946 views 2 replies Latest 1 months ago by Anupam_on Answer this
Answered When does arm-none-eabi-gcc optimize away empty loops? 0 votes 190 views 2 replies Latest 1 months ago by Tamar Christina Answer this
Answered Forum FAQs Started 1 years ago by Annie 0 replies 1095 views
Suggested answer GNU ARM Embedded Toolchain not detected by VSCode Latest 12 days ago by 42Bastian Schick 1 replies 306 views
Answered armclang and memcpy: Weird behavior Latest 12 days ago by a.surati 11 replies 1273 views
Answered How to download the SRAM compiler on ARM web? Latest 16 days ago by Ronan Synnott 1 replies 218 views
Answered How to adapt tutorial for C++ development? Latest 20 days ago by frank_ 2 replies 303 views
Answered can't find CMSIS 5 DSP library Latest 22 days ago by Ronan Synnott 1 replies 186 views
Suggested answer fill flash with data Latest 23 days ago by Ronan Synnott 8 replies 5152 views
Answered When using Omax to compile and link, L6654 error occurs (compiler 6.17) Latest 1 months ago by Ronan Synnott 4 replies 1937 views
Not answered xPack Arm Embedded GCC 10.3.1-2.1 released Started 1 months ago by Liviu Ionescu 0 replies 188 views
Answered Wrong download url for GNU Arm Embedded Toolchain Latest 1 months ago by vvinayag 2 replies 407 views
Suggested answer Error - Subtractive relocations not supported Latest 1 months ago by Anupam_on 2 replies 946 views
Answered When does arm-none-eabi-gcc optimize away empty loops? Latest 1 months ago by Tamar Christina 2 replies 190 views