Compilar la toolchain de GNU para Teensy 
En vista de la repentina desaparición del contenido de la web http://kunen.org/uC/gnu_tool.html (“Building the GNU ARM Toolchain for Bare Metal”) que se usó como referencia en este post y en la que se explicaba con gran detalle y facilidad cómo compilar la toolchain de GNU para el target arm-none-eabi, he decidido poner aquí los pasos que di yo (basados en los ahora desaparecidos) para compilar dicha toolchain (yo lo hice para las versiones binutils-2.25, gcc-5.1.0 y snapshot 20150423 de newlib).

Me he basado en los pasos descritos en la web desaparecida y en la web http://wiki.osdev.org/GCC_Cross-Compiler#GCC.

Hay que asegurarse de que se encuentran instalados los paquetes: textinfo, zlib-devel, flex, bison y el resto de herramientas de compilación (gcc, autoconf, etc.). Es recomendable hacer todos los pasos como usuario root.

Descarga
mkdir -p /opt/teensy/src
cd /opt/teensy/src

binutils 2.25
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2
tar xjf binutils-2.25.tar.bz2

gcc 5.1.0
wget ftp://ftp.gnu.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.bz2
wget https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2
wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
wget http://isl.gforge.inria.fr/isl-0.14.tar.bz2
tar xjf gcc-5.1.0.tar.bz2
tar xjf gmp-6.0.0a.tar.bz2
tar xjf isl-0.14.tar.bz2
tar xzf mpc-1.0.3.tar.gz
tar xjf mpfr-3.1.2.tar.bz2
mv gmp-6.0.0 gcc-5.1.0/gmp
mv isl-0.14 gcc-5.1.0/isl
mv mpc-1.0.3 gcc-5.1.0/mpc
mv mpfr-3.1.2 gcc-5.1.0/mpfr

newlib
wget ftp://sourceware.org/pub/newlib/newlib-2.2.0.20150423.tar.gz
tar xzf newlib-2.2.0.20150423.tar.gz

Compilación

binutils 2.25
mkdir -p /opt/teensy/build/binutils-2.25
cd /opt/teensy/build/binutils-2.25
../../src/binutils-2.25/configure --target=arm-none-eabi --prefix=/opt/teensy --enable-interwork --enable-multilib
make
make install
export PATH="/opt/teensy/bin:$PATH"

gcc 5.1.0 (inicial)
mkdir -p /opt/teensy/build/gcc-5.1.0
cd /opt/teensy/build/gcc-5.1.0
../../src/gcc-5.1.0/configure --target=arm-none-eabi --prefix=/opt/teensy --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --with-headers=../../src/newlib-2.2.0.20150423/newlib/libc/include --with-system-zlib
make all-gcc
make install-gcc

newlib
mkdir -p /opt/teensy/build/newlib
cd /opt/teensy/build/newlib
../../src/newlib-2.2.0.20150423/configure --target=arm-none-eabi --prefix=/opt/teensy --enable-interwork --enable-multilib
make
make install

gcc 5.1.0 (final)
cd /opt/teensy/build/gcc-5.1.0
make all
make install

Tras completar todo el proceso, el compilador, las binutils y la newlib para ARM quedan instaladas en la carpeta /opt/teensy.

[ añadir comentario ] ( 405 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1055 )

<< <Anterior | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Siguiente> >>