Compilando C ++ en microcontroladores EFM32

0

Me gustaría usar algunas bibliotecas de alto nivel escritas en C ++ para mi microcontrolador EFM32. Desafortunadamente, el IDE de Simplicity Studio para EFM32 no parece ser compatible con C ++.

Estoy un poco confundido acerca de si todavía es posible desarrollar en C ++ para esta familia de microcontroladores. Estoy pensando que podría usar el GNU ARM Embedded Toolchain para hacer esto con un Makefile personalizado, pero no estoy seguro de que funcione y cuáles son los argumentos que se deben dar a las diferentes herramientas GNU para compilar y vincular un microcontrolador determinado. gcc, ld, g ++, ...)

¿Así que primero es posible? En caso afirmativo, ¿cuáles son los pasos de alto nivel que deben realizarse? Realmente me gustaría entender lo que está sucediendo en el momento de la compilación y el enlace, ¿tiene recursos para aprender a modificar un Makefile utilizando la cadena de herramientas GNU para compilar para un microcontrolador determinado?

    
pregunta anotherCode245

2 respuestas

5

Por supuesto, es posible usar GCC con un chip Cortex-M3. (Supongo que el fabricante no ha mantenido deliberadamente en secreto algo que debe saber para poder hacerlo).

En pocas palabras, debes

  • obtener o escribir código de inicio (ctr0)
  • obtener o escribir un linkerscript
  • descubra qué opciones especiales de línea de comandos necesita (-nostartup, etc.)
  • descubra cómo descargar la aplicación (probablemente como archivo .hex)
  • (opcionalmente) escriba un makefile para automatizar el proceso

Si usa alguna de las bibliotecas integradas o las herramientas de generación de código del IDE, también tendrá que portar eso.

Para empezar, echa un vistazo a cualquier proyecto que haya combinado GCC y EFM32. RTOSs como FreeRTOS y uCOSII son un buen lugar para mirar. En un comentario markt sugerimos coocox, también vale la pena echarle un vistazo. Es mucho más fácil si puede comenzar con un conjunto de scripts que funcionan bien y hacer su propio paso a paso.

He estado allí, he hecho eso, pero para el NXP LPC1114 / LPC810: visite www.voti.nl/bmptk En este momento (diciembre de 2014) lo estoy revisando, pero el .zip debería funcionar y le puede dar una idea de lo que está involucrado.

    
respondido por el Wouter van Ooijen
0

La versión reciente 4 de Simplicity Studio es compatible con C ++ para el EFM32 mediante el uso de arm-none-eabi-g ++. Asegúrese de comenzar con un proyecto de C ++. La conversión de un proyecto de C, que no ofrecía las opciones del compilador de C ++, para admitir C ++ me llevó a errores.

    
respondido por el Grebu

Lea otras preguntas en las etiquetas