Difference between revisions of "AVR toolchain compilation"

From DiLab
Jump to: navigation, search
(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...)
 
m
Line 8: Line 8:


<pre>
<pre>
#!/bin/bash

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


PATH="$PREFIX/bin:$PATH"

PATH= $PATH:$PREFIX


# GMP:
# GMP:

Revision as of 11:56, 18 April 2011

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.

#!/bin/bash

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

PATH="$PREFIX/bin:$PATH"

# 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