User Tools

Site Tools


This is an old revision of the document!

In this document I will describe how to build a toolchain for ARM.

setup build environment

In this document we will install the toolchain in the users home directory under $HOME/arm-elf.

Installation will take place in /tmp/toolchain.

$ mkdir -p /tmp/toolchain/src

$ mkdir -p /tmp/toolchain/arm-elf

$ mkdir -p $HOME/arm-elf/bin

$ export PATH=$HOME/arm-elf/bin:$PATH


Download binutils from

$ cd /tmp/toolchain/src

$ wget

$ tar -zxvf binutils-2.21.1.tar.gz

Configure and build.

$ cd /tmp/toolchain/arm-elf

$ mkdir binutils

$ cd binutils

$ ../../src/binutils-2.21.1/configure –prefix=$HOME/arm-elf –target=arm-elf –disable-nls

$ make

$ make install


checkout trunk version of gcc from svn

$ cd /tmp/toolchain/src

$ svn co svn checkout gcc-trunk configure and build gcc $ cd /tmp/toolchain/arm-elf $ mkdir gcc $ cd gcc $ ../../src/gcc-trunk/configure –prefix=$HOME/arm-elf –target=arm-elf –disable-werror –disable-nls –enable-interwork –enable-multilib –enable-languages=“c,c++” –enable-target-optspace –with-float=soft –with-newlib –with-headers=/home/alios/src/toolchain/src/newlib/newlib/libc/include/ –with-system-zlib –disable-shared $ make $ make install === newlib === checkout newlib from cvs $ cd /tmp/toolchain/src $ cvs -z 9 -d login ## use 'anoncvs' as password $ cvs -z 9 -d co newlib configure and build $ cd /tmp/toolchain/arm-elf $ mkdir newlib $ cd newlib $ ../../src/newlib/configure –prefix=$HOME/arm-elf –target=arm-elf –enable-interwork –enable-multilib –enable-target-optspace –with-float=soft $ make $ make install''

buildtoolchain.1312971880.txt.gz · Last modified: 2011/08/10 12:24 by alios