A compiler for ARM CPUs is a bit a mixed bag. Partially, because ARMs cover a very wide range of environments, from 8-pin primitive MCUs running 'bare metal' applications to full fledged PCs with operating systems.
Another point of confusion is the multitude of toolchains and IDEs available. For example, there are at least four compiler flavours based on gcc, all doing the basically same thing, but in subtly different ways (like requiring different flags).
This page covers compilers and toolchains usable for RepRap controllers which run 'bare metal' binaries.
Each should work to compile Teacup Firmware for ARM-based controllers. Please stick to one, mixing them can be confusing.
This the toolchain supported by ARM, the company, so it can be seen as kind of an 'official' toolchain.
To install it on Debian or Ubuntu, this sequence should work:
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update sudo apt-get install gcc-arm-embedded
To install on Fedora:
sudo dnf install arm-none-eabi-gcc-cs arm-none-eabi-newlib
To install on Mac OSX via Brew:
brew cask install gcc-arm-embedded
For news about this toolchain as well as downloads for Windows and OS X, see their project page.