Cadena de herramientas Cortex-m3

Estoy buscando una cadena de herramientas gratuita (como en libertad) para Linux (Ubuntu) que me permita desarrollar para un microcontrolador ARM cortex-m3 (lpc1343). ¿Dónde puedo encontrar una cadena de herramientas de este tipo? ¿Hay tutoriales?

Respuestas (5)

CodeSourcery tiene una cadena de herramientas gratuita basada en gcc para Cortex M3.

Hay instrucciones sobre cómo configurar la cadena de herramientas para Luminary LM3s6965 para un host de Windows, Mac y Linux aquí: http://claymore.engineer.gvsu.edu/egr326/LM3S6965 . También debería funcionar con su procesador LPC con ajustes menores.

Consulte también esta pregunta: ¿Herramientas de desarrollo ARM Cortex-M3?

Vi la pregunta a la que hizo referencia, pero no estaba claro para mí cuál de las cadenas de herramientas allí era realmente libre en el sentido de la definición de la fundación Freedom Software.
La GPL garantiza que las cadenas de herramientas basadas en GCC son gratuitas según la definición de GNU. Sin embargo, los proveedores de cadenas de herramientas no permanecen en el negocio debido a su naturaleza generosa: venden soporte, IDE, depuradores de GUI, etc., y distribuyen implementaciones de GCC en funcionamiento libremente (excepto Microchip-grr). versión de línea de comandos de Sourcery G++ patrocinada por los socios de hardware de CodeSourcery [que]... contiene herramientas de línea de comandos, incluidos los compiladores GNU C y C++, el ensamblador y enlazador GNU, las bibliotecas de tiempo de ejecución C y C++ y el depurador GNU.
code sourcery publica sus modificaciones en gcc, por lo que puede tomar esa ruta, construir desde sus mods a gcc, o simplemente construir su propia cadena de herramientas basada en gnu directamente desde las fuentes de gcc, sin entrar en cosas de codesourcery.
Makefile/Instrucciones para crear las fuentes de CodeSourcery en Mac OS X y Linux: github.com/jsnyder/arm-eabi-toolchain CodeSourcery en realidad es compatible con ARM para mantener el puerto GCC para ARM. Su distribución ha sido probada como una unidad (GCC, newlib, gdb, etc.) y, a menudo, contiene correcciones que pueden requerir una versión o dos para llegar a la línea principal de GCC.

Hay un script de compilación aquí: http://github.com/esden/summon-arm-toolchain para compilar una cadena de herramientas basada en gcc que apunta a ARM desde computadoras basadas en Debian.

Indica que está probado y confirmado que funciona para:

STM32F10x (placa de evaluación Olimex STM32-H103, Open-BLDC v0.1, v0.2, v0.3)

que parece estar basado en Cortex-M3.

Trabajaré para todos los tipos de Cortex-M3 (y M0), pero es posible que desee comentar la creación de algunas bibliotecas específicas de STM32.

La placa de desarrollo de Maple es una Arm Cortex M3 y, aunque tiene su propio IDE, ciertamente puede usar la cadena de herramientas GCC ARM como se describe aquí:

http://leaflabs.com/docs/libmaple/unix-toolchain/

Esta guía usa Code::Blocks como su IDE, que uso y encuentro muy útil.

¿Qué tal el "CÓMO STM32/ARM Cortex-M3: Desarrollo bajo Ubuntu".

Los scripts de compilación también se pueden encontrar en github

También debería funcionar para los otros MCU basados ​​en Cortex M3, incluso si esto se prueba en el stm32.

Un poco anticuado ahora, puedo / he creado el último gcc (en Linux) como un compilador cruzado, pero solo uso fuente de código

http://lpcstuff.blogspot.com/2008/09/roll-your-own-gcc.html

Tengo poco o ningún deseo de una biblioteca C ni una biblioteca gcc, por lo que estoy contento con lo que produce lo anterior. Si desea una biblioteca C y/o una biblioteca gcc, debe buscar aquí, este es el gcc más reciente (es decir, 4.x) que puedo encontrar que se compila con newlib y funciona.

http://www.cowlark.com/2009-07-04-building-gcc/

O puede tomar la ruta llvm, lista para usar, llvm se puede usar como un compilador cruzado, arm/thumb en particular. Combino llvm con gnu binutils como ensamblador/enlazador. Prefiero clang a llvm-gcc. Es muy fácil construir llvm a partir de las fuentes (aunque toma una eternidad) si quieres estar a la vanguardia en arreglos, etc.