Skip to content

Commit

Permalink
Merge pull request #1446 from jasonrandrews/review
Browse files Browse the repository at this point in the history
Update GCC install guides
  • Loading branch information
jasonrandrews authored Dec 16, 2024
2 parents 6af0813 + ec6fc80 commit b325766
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 16 deletions.
27 changes: 15 additions & 12 deletions content/install-guides/gcc/arm-gnu.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ There are many versions of the [Arm GNU Toolchain](https://developer.arm.com/Too

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

## Download toolchain {#download}
## How do I download the Arm GNU Toolchain? {#download}

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

Expand All @@ -45,7 +45,7 @@ macOS

Download the correct toolchain variant for your development needs from the [Arm Developer website](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads).

## Installing on Linux
## How do I install the Arm GNU Toolchain on Linux?

### Use package installer

Expand All @@ -72,13 +72,13 @@ export PATH=/path/to/install/dir/bin:$PATH
Here is a specific example for an Arm Linux host and the AArch32 bare-metal target.

```bash { target="ubuntu:latest" }
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-aarch64-arm-none-eabi.tar.xz
tar xJf arm-gnu-toolchain-13.3.rel1-aarch64-arm-none-eabi.tar.xz -C $HOME
echo 'export PATH="$PATH:$HOME/arm-gnu-toolchain-13.3.rel1-aarch64-arm-none-eabi/bin"' >> ~/.bashrc
wget https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-aarch64-arm-none-eabi.tar.xz
tar xJf arm-gnu-toolchain-14.2.rel1-aarch64-arm-none-eabi.tar.xz -C $HOME
echo 'export PATH="$PATH:$HOME/arm-gnu-toolchain-14.2.rel1-aarch64-arm-none-eabi/bin"' >> ~/.bashrc
source ~/.bashrc
```

## Installing on macOS
## How do I install the Arm GNU Toolchain on macOS?

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

Expand All @@ -98,7 +98,7 @@ Use a text editor to add the `bin` directory as a new line in `/etc/paths`.
```console
sudo nano /etc/paths
```
For example the path could be: `/Applications/ArmGNUToolchain/13.3.rel1/arm-none-eabi/bin`
For example the path could be: `/Applications/ArmGNUToolchain/14.2.rel1/arm-none-eabi/bin`

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

Expand All @@ -109,18 +109,21 @@ The `/etc/paths` file is a list of paths to search.
/bin
/usr/sbin
/sbin
/Applications/ArmGNUToolchain/13.3.rel1/arm-none-eabi/bin
/Applications/ArmGNUToolchain/14.2.rel1/arm-none-eabi/bin
```

### Apple Silicon

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

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

## Installing on Windows
## How do I install the Arm GNU Toolchain 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
Expand Down
14 changes: 12 additions & 2 deletions content/install-guides/gcc/cross.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ The executables for 64-bit are `aarch64-linux-gnu-gcc` and `aarch64-linux-gnu-g+

Software can be compiled on an `x86` or `Arm` host machine.

## Download
## How do I download a GCC cross compiler targeting Arm?

The Linux package manager will download the required files so there are no special download instructions.

## Installation
## How do I install a GCC cross compiler on Linux?

You can install a GCC cross compiler with Arm as a target architecture using Linux package managers.

### Installing on Debian based distributions such as Ubuntu

Expand Down Expand Up @@ -78,6 +80,14 @@ To install the most common development tools use the commands below.
dnf install gcc-arm-linux-gnu -y
```

## How do I install a GCC cross compiler on macOS?

You can install a GCC cross compiler with Arm as a target architecture using Homebrew, a package manager for macOS (and Linux).

```console
brew install arm-none-eabi-gcc
```

## Setting up product license {#license}

GCC is open source and freely available for use.
Expand Down
4 changes: 2 additions & 2 deletions content/install-guides/gcc/native.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ aarch64

If you see a different result, you are not using an Arm computer running 64-bit Linux.

## Download
## How do I download a native GCC compiler on Linux?

The Linux package manager downloads the required files so there are no special instructions.

## Installation
## How do I install a native GCC compiler on Linux?

### Installing on Debian based distributions such as Ubuntu

Expand Down

0 comments on commit b325766

Please sign in to comment.