ARM Cortex (M3-M4): IDE de fabricante y desarrollo

6

Me gustaría hacer alguna programación de MCU este verano y ya he tenido algunas experiencias desafortunadas con el tablero STM32F4 DISCOVERY, en particular el hecho de que vino sin ningún software (gratuito) que permitiera un uso ilimitado (más de 16KB o 32KB tanto de Keil como de IAR).

Actualmente también estoy planeando comprar algunos ATTiny y ATMegas para proyectos más pequeños, así como un programador de ISP y un depurador de JTAG. Eso me apuntaría hacia Atmel en cuanto a costos y amp; IDE están preocupados.

Leí un fragmento de esta otra discusión: ¿Herramientas de desarrollo ARM Cortex-M3? y he visto que probé algo que había sido señalado allí.

También usé la cadena de herramientas CodeSourcery. Bajo GNU / Linux, la única biblioteca que funcionó (para mí) fue Chibios . Configuré Eclipse con el complemento gnuarm. Tal vez simplemente no lo hice de la manera correcta (o tal vez no entendí correctamente para qué sirve). También subir el código (4KB) tomó como 5 minutos. No estaba tan mal, pero la depuración estaba muy lejos de ser estable (muchos mensajes de error que debería analizar tan pronto como tengo tiempo: por ahora eso es un problema secundario).

Me gustó probar Coocox, pero no me permitió cargar el código (necesitaba la interfaz de hardware, supongo, su interfaz JTAG).

Por lo tanto, la pregunta es: ¿existe algún fabricante que realmente suministre un software de uso gratuito sin limitaciones en las líneas de código o el tamaño del código? Por ahora solo encontré Atmel, que ahora incluye soporte para ARM y AVR en su Atmel Studio 6 basado en Visual Studio 2010. Parece que ST y NXP no ofrecen nada. TI parece ofrecer su CCStudio [Code Composer Studio] pero también tiene limitaciones en el tamaño máximo de código que se puede producir.

No tendría ningún problema en hacerlo en GNU / Linux (de hecho, preferiría hacerlo), pero me gustaría que estuviera bien soportado por él.

Me pregunto si los otros caracteres ofrecen algo más: la arquitectura ARM en sí misma (Cortex M3 / M4 u otros) debería ser bastante estándar. ¿Cuál es la diferencia entre una MCU y la otra? Son los periféricos que la rodean, si he entendido correctamente (y espero que algún otro fabricante que no sea Atmel realmente proporcione algún software, que no tiene un tamaño de código limitado). Me interesaría particularmente el ADC de alta velocidad (y la frecuencia de MCU también), pero he visto en algunos catálogos que no cambia mucho de un fabricante a otro.

Solo una curiosidad: si quiero enviar datos de MCU a PC mediante comunicación en serie (por ejemplo, USB), ¿la MCU tiene que ser MUY rápida si quiero transferir datos a una velocidad completa (digamos 480Mbit / s para ¿Qué instancia necesita qué: 480MHz?)?

Estoy abierto a sugerencias. Muchas gracias de antemano.

    
pregunta user51166

5 respuestas

2

A riesgo de sonar como un disco roto ...

PSoC5 es tu respuesta! (Es increíble la cantidad de veces que PSoC es la respuesta)

ElPSoC5MCUtieneunnúcleoARMCortexM3,yunmontóndeotrascaracterísticasbrillantesqueprácticamenteningúnotroMCUtiene.AdiferenciadeotrosMCU,configurarlosperiféricosestandivertidocomocomerhelado,¡einclusopuedescrearlostuyosenVerilog!ElIDEesbastantebuenoytotalmentegratuito.

El

    
3

Me viene a la mente una plataforma que tiene un compilador / IDE gratuito:

Como inconveniente, el microcontrolador tiene un cargador de arranque preprogramado que ocupa algo de espacio en la memoria del programa. Por otro lado, no tiene que gastar dinero adicional para comprar un programador.

    
respondido por el m.Alin
1

No estoy seguro de por qué los tableros de desarrollo de Maple no son tan populares, pero son muy fáciles de usar: LeafLabs
Empaquetan un ARM Cortex-M3 a 72MHz con muchas E / S y periféricos. Lo mejor de todo es que son compatibles con el IDE de Arduino, lo que los hace muy fáciles de programar. No hay ninguna limitación que yo sepa, aparte de a qué se limita el microcontrolador. LeafLabs ha portado el IDE de código abierto de Arduino de modo que es específico de sus tableros de desarrollo.

Tambiéntienelaopciónde mBed LPC1768 de NXP, como lo señala m.Alin. También tiene un ARM Cortex-M3 a 96MHz. Lo he usado antes y es bastante potente. Tiene un IDE en línea y un compilador en su sitio web, lo que significa que debe estar conectado a Internet si desea codificarlo y / o programar la placa. NXP también proporciona una API muy útil y un montón de código de referencia.

    
respondido por el Shubham
1

Prueba EM :: Bloques. Se basa en Code :: Blocks y funciona muy bien. Tuve el código de prueba que tienen en el sitio de EMB en funcionamiento en la placa STM32F4Disco En unos 10 minutos, incluyendo la instalación y soy un bonehead completo. No hay límites y tiene la mayoría de las características de Keil y es compatible con todas las aplicaciones actuales. Partes STM32Fxxx que CooCox no lo hace. No pierdas el tiempo con Eclipse.

    
respondido por el Bruce Duncan
0

Utilicé mBed para crear prototipos y emBlocks en caso de que necesite seguir investigando, por ejemplo. agregue offset a la memoria flash en caso de que haga un gestor de arranque personalizado que requiera que mi programa principal se inicie en un offset determinado.

Normalmente uso la placa Nucleo STM32 que viene con el programador STLink para hacer prototipos rápidos. Los emBlocks también tienen un buen depurador que soporta mi depurador favorito, el Segger JLink.

Usar mBed, pasar de la placa base a la placa personalizada es muy fácil, simplemente conecte la interfaz SWD de la placa Núcleo STM32, retire todos los puentes y puede arrastrar y soltar archivos binarios desde la computadora a su placa personalizada a través de STLink. En el caso de mBlocks, puede usar la interfaz del programador, puede detectar el STLink.

    
respondido por el bonchenko

Lea otras preguntas en las etiquetas