Programación del microcontrolador: ¿necesito el IDE del proveedor?

1

Estoy muy interesado en el siguiente microcontrolador ARM Cortex-M0:

enlace

Sin embargo, estoy deshabilitado ante la idea de tener que licenciar su software de desarrollo, que encontré aquí: enlace

¿Tengo opciones? Mi objetivo es diseñar PCB una placa de desarrollo personalizada basada en este microcontrolador o similar (Cortex-M0 / M3), y poder programarlo a través de (micro) USB. Francamente, prefiero escribir el ensamblaje ARM (y probablemente sea capaz de encontrar un buen código de código abierto para que empiece) en lugar de tener que usar un IDE propietario.

Gracias por cualquier ayuda; También abierto a alternativas basadas en mis objetivos.

    
pregunta JDS

4 respuestas

4

La cadena de herramientas gratuita de GCC admite ARM / Cortex muy bien. Las versiones precompiladas se pueden encontrar en toda la web, o puede crear las suyas propias. Podrías hacer ensamblador si lo deseas, pero sugeriría al menos C, personalmente, me gusta C ++ incluso mejor porque permite bibliotecas muy eficientes.

Las cosas que "cuelgan" del compilador pueden ser un poco más complicadas. Escribí mis propios scripts de creación, scripts de vinculador, código de inicio y algunas bibliotecas de soporte. Eso requiere un conocimiento profundo, pero no es mucho trabajo (al menos para los primeros chips). Utilizo principalmente los chips LPC DIP, LPC1114FN28 y LPC810M021FN8.

No soy fanático de los IDE "pesados". Utilizo principalmente PSPpad, pero el make-script puede usarse con cualquier editor que pueda llamar a un script de shell, capturar la salida y analizar un mensaje de error (GCC).

No soy un fanático de los depuradores, prefiero insertar declaraciones de impresión. Uso lpc21isp para la descarga en serie sin intervención + emulación de terminal. Funciona bien, excepto que tuve que parchear lpc21isp para reiniciar el chip después de descargarlo (en lugar de usar el comando ISP GO, que está roto en Cortex. ¡Es culpa de tu NXP por no arreglarlo!).

Se puede encontrar un artículo sobre cómo uso C ++ aquí .

En aproximadamente dos semanas tendré mi entorno actualizado para mi curso C-on-LPC1114. La versión del año pasado se puede encontrar aquí .

    
respondido por el Wouter van Ooijen
3

Sí, tienes muchas opciones. He estado programando los procesadores Cortex-M0 y Cortex-M3 de NXP y ST usando herramientas de código abierto durante años. ARM mantiene una versión de gcc que se compila de forma cruzada en launchpad.com . Puedes usar Eclipse como un IDE. Para hacerlo bien necesitas una interfaz de depuración de un solo cable. Utilizo el Segger JLink pero también hay otras opciones para eso.

Hace algún tiempo escribí un documento sobre cómo poner todo esto junto para enseñar Un curso de microcontrolador. También hay una gran cantidad de información útil en Sin embargo, otra cadena de herramientas GNU ARM .

    
respondido por el Joe Hass
1

La mayoría, si no todos los IDE, son dispositivos de presentación para editores, archivos make, compiladores, enlazadores y depuradores que se integran convenientemente pero ocultan los detalles de operación de la línea de comandos para que no tenga que pensar en ellos. Por lo general, exponen los detalles para que usted los modifique o reemplace, por lo que casi puede usar su elección de IDE con cualquier cadena de herramientas a la que tenga acceso, como el conjunto de gcc al que Wouter hizo referencia.

    
respondido por el JRobert
0

LPCXpresso es un extremo frontal basado en Eclipse para una compilación de la cadena de herramientas arm-non-eabi-gcc, más algún otro pegamento, bibliotecas, demostraciones, etc.

Una licencia gratuita con límite de código moderado está disponible mediante registro.

Pero NXP no posee Eclipse o GCC aparte de sus propias modificaciones, y para GCC la licencia incluso les obliga a proporcionarle el código fuente para la versión exacta que utilizan. Tampoco pueden imponer restricciones de uso legal a GCC (es decir, podrían agregar una restricción de tamaño de código en su fuente personalizada, pero también puede comentar que se puede volver a anular, aunque la restricción puede no estar en el compilador)

El uso de LPCXpresso parece ser completamente opcional: la compilación GCC incluida se puede usar desde la línea de comandos, e incluso el IDE parece generar archivos make que se pueden usar para reconstruir su proyecto sin ejecutar el IDE nuevamente, siempre que especifique la ubicación de el compilador También debería poder aprender lo suficiente de estos para crear proyectos desde cero sin ejecutar el IDE en absoluto.

Es probable que el brazo-gcc aguas arriba pueda apuntar a los chips; si no, una persona determinada podría descubrir lo que se cambia en las fuentes GCC de NXP y en sentido ascendente.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas