Instalación de Herramientas GNU-ARM
Problemas frecuentes enla instalación y/o ejecución de las herramientas ARM
Error 1
arm-elf-gcc: error trying to exec 'cc1': execvp: No existe el fichero ó directorio
Solución
Se debe realizar un enlace simbólico del cc1 a la carpeta de los binarios.
como root
root@td03005:/# cd /opt/gnu-arm/bin root@td03005:/opt/gnu-arm/bin# ln -s /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1 ./cc1 root@td03005:/opt/gnu-arm/bin# ls -l ..... -rwxr-xr-x 1 root root 2814764 2010-06-10 18:47 arm-elf-strip lrwxrwxrwx 1 root root 42 2010-09-08 17:29 cc1 -> /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1 .....
verificar que cc1 tenga permiso de ejecución
root@td03005:/opt/gnu-arm/bin# cd /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/ root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# chmod +x cc1 root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# chmod +x cc1plus root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# ls -l total 50968 -rwxr-xr-x 1 root root 24760130 2010-06-10 18:47 cc1 -rwxr-xr-x 1 root root 27062393 2010-06-10 18:47 cc1plus -rw-r--r-- 1 root root 292766 2010-06-10 18:47 collect2 drwxr-xr-x 2 root root 4096 2010-06-10 18:47 install-tools
Error 2
/opt/gnu-arm/bin/../libexec/gcc/arm-elf/4.3.2/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object
Solución
Instalar la librería correspondiente
# aptitude install libmpfr1ldbl
Dependiendo de la versión de linux, pueden no encontrar esta librería, en cuyo caso, prueben con
# aptitude install libmpfr-dev
Error 3
El simulador (arm-elf-insight) no funciona
El problema se produce en el momento de correr el programa, al intentar hacerlo el programa no corre y queda el simulador apuntando a la primer linea del programa.
Solución
La posible solución, es verificar que la ruta donde se encuentra la aplicación (los fuentes y el archivo .elf que simulamos) no posea espacios en blanco en sus nombres, si esto es así, renombrar esos directorios o cambiar de lugar el proyecto y volver a intentarlo.
Error 4
Las funciones matemáticas y trigonométricas (cos, sqrt, etc.) no funcionan o devuelve error el compilador al tratar de utilizarlas en el código
El problema es producido por no incluir la librería matemática en el momento de enlace (linker) del proyecto y/o sus correspondientes archivos de cabecera
Solución
- 1) se debe incorporar la librería al proyecto, esto se realiza desde el makefile modificando la linea donde se realiza el enlace
Se busca algo como
$(ELF): $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
y se agrega -lm al final de la linea indicando la utilización de la librería matemática.
$(ELF): $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lm
- 2) se debe agregar
#include <math.h> en el o los ficheros donde se utilizarán funciones matemáticas
- (sqrt(x) es sqrtf(x) , cos(x) es cosf(x), etc)
Error 5
Al instalar la versión de 64 bits, el botón "Comenzar Instalación" permanece deshabilitado
Solución
Se debe a un problema en el la parte gráfica de la instalación, para evitarla, abra una consola de texto (esto se logra con <Alt>F2 por ejemplo) dentro de esta consola entre con su nombre y password de usuario, diríjase al directorio donde tiene el instalable y pruebe correr el programa como lo venia intentando.
Ahora las opciones de instalación estarán en modo texto, evitando la parte gráfica
Error 6
El instalador devuelve un error de dependencia que no encuentra la librería libmpfr
Solución
Proceda como la solución del Error 2