About this Install Guide

This guide is intended to get you up and running with this tool quickly with the most common settings. For a thorough review of all options, refer to the official documentation.

Arm Compiler for Embedded is a mature toolchain tailored to the development of bare-metal software, firmware, and Real-Time Operating System (RTOS) applications for Arm.

A safety qualified branch of Arm Compiler for Embedded, known as Arm Compiler for Embedded FuSa , is available for safety critical applications.

Use the version contained in Arm Development Studio or Keil MDK

The easiest way to access the Arm Compiler for Embedded is to use the version provided with Arm Development Studio .

A given Development Studio version will contain the latest compiler version available at the time of release, and is generally up to date.

Cortex-M users can also use the compiler as provided with Keil MDK .

Alternative versions can be downloaded separately .

Arm Compiler for Embedded FuSa must also be downloaded separately .

Standalone compiler packages

Individual compiler packages for all supported host platforms can be downloaded from the Arm Product Download Hub .

These can either be used standalone or integrated into your Arm Development Studio installation.

See also: What should I do if I want to download a legacy release of Arm Compiler?

Install compiler packages

To install on Windows, unzip the downloaded package, launch the installer, and follow on-screen prompts.



To install on Linux hosts, untar the downloaded package and run the install script (note the exact filenames are version and host dependent). For example:



            mkdir tmp
mv ARMCompiler6.22_standalone_linux-x86_64.tar.gz tmp
cd tmp
tar xvfz ARMCompiler6.22_standalone_linux-x86_64.tar.gz
./install_x86_64.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.22



            mkdir tmp
mv ARMCompiler6.22_standalone_linux-aarch64.tar.gz tmp
cd tmp
tar xvfz ARMCompiler6.22_standalone_linux-aarch64.tar.gz
./install_aarch64.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.22

Remove the install data when complete.


            cd ..
rm -r tmp

Add the bin directory of the installation to the PATH and confirm armclang can be invoked.



            export PATH=/home/$USER/ArmCompilerforEmbedded6.22/bin:$PATH
armclang --version



            set path=(/home/$USER/ArmCompilerforEmbedded6.22/bin $path)
armclang --version

Set up the product license

Arm Compiler for Embedded and Arm Compiler for Embedded FuSa are license managed. License setup instructions are available in the Arm Licensing install guide .

Verify installation

To verify everything works, compile a simple Hello World example.

Use a text editor to copy and paste the code below into a file named hello.c:


            // hello.c
#include <stdio.h>
int main() {
  printf("Hello World\n");
  return 0;

Compile the code with armclang:


            armclang --target=aarch64-arm-none-eabi hello.c

If the the command completes with no errors, the compiler is working.

More information about the example is available in the Arm Compiler for Embedded User Guide .

Integrate with Arm Development Studio

To integrate this compiler with Arm Development Studio, register the installation and configure the environment to use that version.

Full installation instructions are given in the documentation .


How would you rate the overall quality of this tool quick-install guide?