La mejor manera de instalar arm-elf-gcc en una máquina Linux

Hola amigos, estoy trabajando en un dispositivo que usa arm-elf-gcc para compilar código para una placa prototipo de MakingThings. Mi máquina de desarrollo es una caja de Linux que ejecuta Ubuntu 9.10. En una caja de Linux diferente usando Ubuntu, logré que arm-elf-gcc funcionara bien al construir e instalar manualmente gcc, después de 3 o 4 intentos.

Estoy tratando de elegir la mejor manera de instalar la cadena de herramientas, pero no parece haber una mejor manera AFAIK. Al configurar en 9.08 y 9.10, ambos parecen fallar, excepto cuando construyo e instalo manualmente el entorno.

Probé los paquetes de Emdebian y CodeSourery, y ninguno funcionó bien.

¿Alguien tiene alguna otra buena sugerencia para hacer una configuración arm-elf-gcc en una caja de Linux?

Como nota: para la construcción manual de arm-elf-gcc, estoy usando una versión modificada de las instrucciones en hermann-uwe.de/blog/…

Respuestas (8)

Yo diría que CodeSourcery Lite es la forma más fácil. La versión Lite es solo las herramientas GNU (sin IDE sofisticados, etc.).

Se instala limpiamente en un solo directorio, solo necesita configurar su PATH para que apunte a él.

Aquí hay un artículo bastante bueno que cubre en parte la construcción de su propia cadena de herramientas de compilación cruzada usando crosstool-ng . Puede que te resulte útil como lo hice yo.

Creo que la mejor manera es compilar e instalar manualmente gcc en un solo intento. ;-)

Aunque esto requiere que lo hagas un par de veces para practicar, y mi propia puntuación fue de dos intentos la última vez (faltaba makeinfo al compilar binutils, nuevamente). Utilizo mis propios scripts, que son similares pero se descargan y compilan por separado.

No sé, prefiero que alguien más se tome la molestia de descubrir cómo compilar y empaquetar GCC que tener que aprenderlo yo mismo. Mi objetivo es escribir programas, no mantener cadenas de herramientas, por lo que aprender a hacerlo no me resulta tan útil.
Sí, pero que yo sepa, esos paquetes no existen. (Para AVR uso avr-gcc.)

Coloque su cadena de herramientas en algo como /usr/local/arm-elf-toolchain y coloque los prefijos apropiados en sus archivos MAKE y debería estar bien. Realmente puedo recomendar poner la cadena de herramientas en un directorio separado para que no arruine su(s) cadena(s) de herramientas actual(es).

Instalé la cadena de herramientas usando el tutorial de Madox .

Después de la compilación e instalación manual como se describe en este enlace, todo funcionó a la perfección.

Estoy de acuerdo con Joby Taffey en que CodeSourcery probablemente sea una buena opción.

Sin embargo, hace un tiempo comencé a jugar un poco con el stm32 (ST:s arm Cortex M3 mcu) y en el proceso creé esta página.

¿Quizás te pueda ayudar en algún sentido?

Si no es reacio a actualizar a una versión más reciente de Ubuntu, puede instalar un compilador cruzado ARM desde el repositorio oficial.

Las versiones 10.10 ("maverick") y posteriores tienen un gcc-arm-linux-gnueabipaquete y un binutils correspondiente. Estos están en el repositorio del 'universo'.

Fuente: dak

El script Summon ARM Toolchain me ha funcionado maravillosamente. Tenga en cuenta que esto solo funcionará para configurar la cadena de herramientas para el desarrollo de ARM sin sistema operativo y NO para compilar de forma cruzada para objetivos ARM de Linux. En aras de la claridad, eso significa que no funcionará compilar un programa que pueda ejecutarse en Linux ejecutándose en ARM. Además, esto instala la cadena de herramientas completa, prácticamente todo lo que necesita para realizar trabajos completos en ARM.