AVR toolchain compilation

From DiLab
Revision as of 02:06, 7 November 2010 by Girts (talk | contribs) (New page: Installation process is an adapted version of [http://www.cs.mun.ca/~paul/cs4723/material/atmel/avr-libc-user-manual-1.6.5/install_tools.html AVR libc tutorial] (Accessed 07.nov.2010.): C...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Installation process is an adapted version of AVR libc tutorial (Accessed 07.nov.2010.):

Create a new directory, where the toolchain source files will be stored temporarily.

Save the GCC patch file in this directory.

Run the following script! You will be asked for password, as sudo command is used. User account with administrator (sudo) rights is required. Wget tool is required to fetch source files from GNU sites.

# will be installed under /usr/local . Change here, if other destination is needed
export PREFIX=/usr/local


PATH= $PATH:$PREFIX

# GMP: 
echo "Fetching GMP, required by GCC..."
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
bunzip2 -c gmp-4.3.2.tar.bz2 | tar xf -
cd gmp-4.3.2
mkdir obj
cd obj
echo "Building GMP..."
../configure --prefix=$PREFIX
make
sudo make install

# MPFR:
echo "Fetching MPFR, required by GCC..."
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
bunzip2 -c mpfr-2.4.2.tar.bz2 | tar xf -
cd mpfr-2.4.2
mkdir obj
cd obj
echo "Building MPFR..."
../configure --prefix=$PREFIX
make
sudo make install

# MPC:
echo "Fetching MPC, required by GCC..."
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
tar -xzf mpc-0.8.1.tar.gz
cd mpc-0.8.1
mkdir obj
cd obj
echo "Building MPC..."
../configure --prefix=$PREFIX
make
sudo make install
 
# BINUTILS:
echo "Fetching binutils..."
wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.gz
tar -xzf binutils-2.20.tar.gz
cd binutils-2.20
cp ../gas-patch-newdevices.patch ./
echo "Building binutils..."
patch -p0 < gas-patch-newdevices.patch
mkdir obj-avr
cd obj-avr
../configure --prefix=$PREFIX --target=avr --disable-nls
make
sudo make install

# GCC:
echo "Fetching GCC…"
wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.0/gcc-core-4.5.0.tar.gz
tar -xzf gcc-core-4.5.0.tar.gz
cd gcc-4.5.0
cp ../gcc-new-device-support.patch ./
echo "Building GCC..."
patch -p0 < gcc-new-device-support.patch
mkdir obj-avr
../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2