| Reading time: | 15 min |
| Last updated: | 22 Apr 2026 |
| Reading time: |
| 15 min |
| Last updated: |
| 22 Apr 2026 |
| Author: | Ronan Synnott, Arm
|
| Official docs: | View |
| Tags: |
| Author: |
| Official docs: |
| View |
| Tags: |
This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.
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.
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 .
You can download individual compiler packages for all supported host platforms from the Arm Product Download Hub or the Arm Tools Artifactory .
You can download all compiler packages from the Arm Product Download Hub (requires login).
You can find download links to all available versions in the Arm Compiler downloads index .
You can use all compiler versions standalone or integrated into your Arm Development Studio installation. For more information on downloading a legacy Arm Compiler release, see What should I do if I want to download a legacy release of Arm Compiler?
For more information on usage, see Arm Product Download Hub .
The installation steps depend on your operating system.
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. The exact filenames are version and host dependent.
You can use the uname -m call to determine whether your machine is running aarch64 or x86_64, and target the downloaded package accordingly.
mkdir tmp
mv ARMCompiler6.24_standalone_linux-`uname -m`.tar.gz tmp
cd tmp
tar xvfz ARMCompiler6.24_standalone_linux-`uname -m`.tar.gz
./install_`uname -m`.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.24
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.24/bin:$PATH
armclang --version
set path=(/home/$USER/ArmCompilerforEmbedded6.24/bin $path)
armclang --version
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.
You can also fetch directly from the artifactory. This is particularly useful for automated CI/CD flows.
wget https://artifacts.tools.arm.com/arm-compiler/6.24/19/standalone-linux-armv8l_64-rel.tar.gz
The artifactory packages don’t have their own installers. You should manually extract files and configure. For example:
mkdir ArmCompilerforEmbedded6.24
tar xvzf ./standalone-linux-armv8l_64-rel.tar.gz -C ./ArmCompilerforEmbedded6.24 --strip-components=1
rm ./standalone-linux-armv8l_64-rel.tar.gz
export PATH=/home/$USER/ArmCompilerforEmbedded6.24/bin:$PATH
export AC6_TOOLCHAIN_6_22_0=/home/$USER/ArmCompilerforEmbedded6.24/bin
Arm Compiler for Embedded and Arm Compiler for Embedded FuSa are license-managed.
For license set up instructions, see Arm Licensing install guide .
To verify everything works, compile a Hello World example.
Use a text editor to copy and paste the folowing code 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 command completes with no errors, the compiler is working.
For more information about the example, see the Arm Compiler for Embedded User Guide .
To integrate this compiler with Arm Development Studio, register the installation and configure the environment to use that version.
You’re now ready to use Arm Compiler for Embedded.
How would you rate this tool quick-install guide?
What is the primary reason for your feedback ?
Thank you! We're grateful for your feedback.