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.

Before you begin

Arm GNU Toolchain is a community supported, pre-built GNU compiler toolchain for Arm based CPUs. There are many versions of the Arm GNU Toolchain available. In general, the latest version is recommended for use, as this will contain the latest optimization improvements, as well as support for the latest Arm IP.

However there are reasons you may wish to use earlier compiler versions, so older versions are also available.

Download toolchain

Arm GNU Toolchain releases consist of cross toolchains for the following host operating systems:


  • Available for x86_64 and AArch64 host architectures
  • Available for bare-metal and Linux targets


  • Available for x86 host architecture only (compatible with x86_64)
  • Available for bare-metal and Linux targets


  • Available for x86_64 and Apple silicon (beta) host architectures
  • Available for bare-metal targets only

Download the correct toolchain variant for your development needs from the Arm Developer website .

Installing on Linux

Use package installer

Many Linux distributions make the toolchain available with their package installers. However they may not be the latest versions or desired variant.


            sudo apt update
sudo apt install gcc-arm-none-eabi

If the installed version does not meet your needs, install manually .

Manual install

Unpack the downloaded file to the install directory. The exact file name will depend on the flavor selected.


            tar xJf arm-gnu-toolchain-<version>-<host-arch>-<TRIPLE>.tar.xz -C /path/to/install/dir

Add the bin directory to the PATH environment variable (bash).


            export PATH=/path/to/install/dir/bin:$PATH

Here is a specific example for an Arm Linux host and the AArch32 bare-metal target.


            wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-aarch64-arm-none-eabi.tar.xz
tar xJf arm-gnu-toolchain-12.3.rel1-aarch64-arm-none-eabi.tar.xz -C $HOME
echo 'export PATH="$PATH:$HOME/arm-gnu-toolchain-12.3.rel1-aarch64-arm-none-eabi/bin"' >> ~/.bashrc
source ~/.bashrc

Installing on macOS

Downloads for macOS are available as tar files (.tar.xz) and package files (.pkg).

tar files

For .tar.xz files, unpack the downloaded file to the install directory.


            tar xJf arm-gnu-toolchain-<version>-<host-arch>-<TRIPLE>.tar.xz -C /path/to/install/dir

pkg files

For .pkg files use the installer.


            sudo installer -pkg arm-gnu-toolchain-<version>-<host-arch>-<TRIPLE>.pkg -target /

Update PATH

Use a text editor to add the bin directory as a new line in /etc/paths.


            sudo nano /etc/paths

For example the path could be: /Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin

The /etc/paths file is a list of paths to search.



Apple Silicon

Here is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target.


            wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-darwin-arm64-arm-none-eabi.pkg
sudo installer -pkg arm-gnu-toolchain-12.3.rel1-darwin-arm64-arm-none-eabi.pkg -target /
echo '/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin' | sudo tee -a /etc/paths

Installing on Windows

Double-click on the installer (e.g. gcc-arm-_version_--mingw-w64-i686-arm-none-eabi.exe) and follow on-screen instructions.

The installer can also be run on the command line. When run on the command-line, the following options can be set:

  • /S Run in silent mode
  • /P Adds the installation bin directory to the system PATH
  • /R Adds Install Folder registry entry for the install.

For example, to install the tools silently, amend users PATH and add registry entry:


            gcc-arm-<version>--mingw-w64-i686-arm-none-eabi.exe /S /P /R

The zip package is a backup to Windows installer for those who cannot run the installer. You can unzip the package and then invoke the tools directly.

Setting up product license

Arm GNU Toolchain is open sourced and freely available for use. No licenses need to be set up for use.

To use the Arm GNU Toolchain in conjunction with Arm Development Studio you must register the toolchain .

Get started

To verify the installation is correct enter:


            arm-none-eabi-gcc -v

Additional examples are included in the toolchain installation at:




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