Reading time: | 15 min |
Last updated: | 28 Aug 2024 |
Reading time: |
15 min |
Last updated: |
28 Aug 2024 |
Author: | Ronan Synnott, Arm |
Official docs: | View |
Tags: |
Author: |
Ronan Synnott, Arm |
Official docs: |
View |
Tags: |
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.
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 .
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 .
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.
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:
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
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
Arm Compiler for Embedded and Arm Compiler for Embedded FuSa are license managed. License setup instructions are available in the Arm Licensing install guide .
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 .
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?
What is the primary reason for your feedback ?
Thank you. We're grateful for your feedback on how to improve this tool quick-install guide.