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 or the Arm Tools Artifactory .

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

Product Download Hub

All compiler packages can be downloaded from the Arm Product Download Hub (requires login):

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?

See Arm Product Download Hub for additional information on usage.

Install compiler packages

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

    

        
        
            win-x86_64\setup.exe
        
    

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:

x86_64

    

        
        
            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
        
    

aarch64

    

        
        
            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.

bash

    

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

csh/tcsh

    

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

Arm Tools Artifactory

The Arm Compiler for Embedded, as well as other tools and utilities are available in the Arm Tools Artifactory . The Keil Studio VS Code Extensions use the artifactory to fetch and install and the necessary components.

Available packages can also be fetched directly from the artifactory. This is particularly useful for automated CI/CD flows.

    

        
        
            wget https://artifacts.tools.arm.com/arm-compiler/6.22/45/standalone-linux-armv8l_64-rel.tar.gz
        
    

Note that the artifactory packages do not have their own installers. You should manually extract files and configure, for example:

    

        
        
            mkdir ArmCompilerforEmbedded6.22
tar xvzf ./standalone-linux-armv8l_64-rel.tar.gz -C ./ArmCompilerforEmbedded6.22 --strip-components=1
rm ./standalone-linux-armv8l_64-rel.tar.gz
export PATH=/home/$USER/ArmCompilerforEmbedded6.22/bin:$PATH
export AC6_TOOLCHAIN_6_22_0=/home/$USER/ArmCompilerforEmbedded6.22/bin
        
    

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 .


Feedback

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