Installing toolchain (GCC)

Joakim Nohlgård edited this page Feb 20, 2017 · 11 revisions

Ubuntu Trusty 14.04 LTS and later

GCC and binutils

See also https://launchpad.net/gcc-arm-embedded

The cross GCC is available in a third-party package repository:

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi

OpenOCD

Install OpenOCD (v0.7.0 is available in Ubuntu 14.04):

sudo apt-get install openocd

GDB

arm-none-eabi-gdb comes as a part of the arm-none-eabi-gcc toolchain above.

Gentoo Linux

GCC and binutils

emerge crossdev
crossdev -t arm-none-eabi -s4

In order to get a complete thumb2 newlib with proper softfloat support it is necessary to modify the default multilib specification of gcc. Place the following patch in /etc/portage/patches/cross-arm-none-eabi/gcc/

https://raw.githubusercontent.com/eistec/mulle/develop/toolchain/arm-none-eabi-gcc-cortex-multilib.patch

OpenOCD

OpenOCD is available in the Gentoo repositories as dev-embedded/openocd, it is only available in the unstable arch. Add dev-embedded/openocd to package.keywords and make sure the ftdi USE flag is enabled.

mkdir -p /etc/portage/package.keywords
mkdir -p /etc/portage/package.use
echo "dev-embedded/openocd" >> /etc/portage/package.keywords/openocd
echo "dev-embedded/openocd ftdi" >> /etc/portage/package.use/openocd
emerge -av openocd

GDB

Either build a multitarget gdb binary with USE=multitarget or install arm-none-eabi-gdb using crossdev

[follow the instructions above to install a cross GCC]
emerge -av cross-arm-none-eabi/gdb

Mac

Homebrew scripts are available at https://github.com/eistec/mulle/tree/develop/toolchain/homebrew

gcc-arm-embedded toolchain

echo "deb http://ppa.launchpad.net/team-gcc-arm-embedded/ppa/ubuntu YOUR_UBUNTU_RELEASE main" \
 > /etc/apt/sources.list.d/gcc-arm-embedded.list && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
--recv-keys B4D03348F75E3362B1E1C2A1D1FAA6ECF64D33B0
apt-get update
apt-get install gcc-arm-embedded
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.