LM32 Toolchain

Para instalar el toolchaiin del LM32 siga los pasos referidos a continuación. Tomado de http://wiki.linuxencaja.net/

mkdir archive cd archive

wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/binutils-2.21.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/gcc-core-4.5.2.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/gcc-g++-4.5.1.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/newlib-1.19.0.tar.gz wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/gdb-7.2.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/gmp-4.3.2.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/mpc-0.8.1.tar.gz wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/mpfr-2.4.2.tar.bz2 wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/binutils-2.21-rtems4.11-20110107.diff wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/gcc-core-4.5.2-rtems4.11-20101216.diff wget -c http://www.rtems.org/ftp/pub/rtems/SOURCES/4.11/newlib-1.19.0-rtems4.11-20110109.diff wget -c http://ftp.rtems.org/ftp/pub/rtems/SOURCES/4.11/autoconf-2.67.tar.bz2 wget -c http://ftp.rtems.org/ftp/pub/rtems/SOURCES/4.11/automake-1.11.1.tar.bz2

cd .. mkdir build cd build echo "Descomprimiendo binutils" tar xjf ../archive/binutils-2.21.tar.bz2 echo "Descomprimiendo hcc-core" tar xjf ../archive/gcc-core-4.5.2.tar.bz2 echo "Descomprimiendo gcc g++" tar xjf ../archive/gcc-g++-4.5.1.tar.bz2 echo "Descomprimiendo newlib " tar xzf ../archive/newlib-1.19.0.tar.gz echo "Descomprimiendo gdb" tar xjf ../archive/gdb-7.2.tar.bz2 echo "Descomprimiendo gmp" tar xjf ../archive/gmp-4.3.2.tar.bz2 echo "Descomprimiendo mpc" tar xzf ../archive/mpc-0.8.1.tar.gz echo "Descomprimiendo mpfr" tar xjf ../archive/mpfr-2.4.2.tar.bz2

cd binutils-2.21 cat ../../archive/binutils-2.21-rtems4.11-20110107.diff | patch -p1 --dry-run cat ../../archive/binutils-2.21-rtems4.11-20110107.diff | patch -p1 cd ../gcc-4.5.2/ cat ../../archive/gcc-core-4.5.2-rtems4.11-20101216.diff | patch -p1 --dry-ru cat ../../archive/gcc-core-4.5.2-rtems4.11-20101216.diff | patch -p1 cd ../newlib-1.19.0/ cat ../../archive/newlib-1.19.0-rtems4.11-20110109.diff | patch -p1 --dry-run cat ../../archive/newlib-1.19.0-rtems4.11-20110109.diff | patch -p1 cd .. mkdir b-binutils cd b-binutils ../binutils-2.21/configure --target=lm32-elf --prefix=/opt/lm32_toolchain make all make info sudo make install cd .. export PATH=/opt/lm32_toolchain/bin:${PATH} cd gcc-4.5.2/ ln -s ../newlib-1.19.0/newlib. cd .. mkdir b-gcc cd b-gcc/ ../gcc-4.5.2/configure --target=lm32-elf --with-gnu-as --with-newlib --verbose --enable-threads --enable-languages="c" --prefix=/opt/lm32_toolchain make all make info sudo make install cd ..
 * 1) Aplicando patchs
 * 1) Compilando binutils
 * 1) Compilando GCC

Adicion del directorio de ejecutables a la variable PATH
Para que los archivos compilados en el paso anterior esten disponibles para la compilacion de aplicaciones para el procesador LM32, es necesario modificar la variable de entorno PATH para esto debemos editar el archivo .bashrc localizado en la raiz del directorio del usuario.

$cd ~ gedit .bashrc

Agregamos la siguiente linea al final del archivo:

PATH=$PATH:/opt/lm32_toolchain/bin/