Ayuda necesaria para pasar de AVR a ARM

He estado trabajando con microcontroladores AVR durante los últimos 2 años y ahora me siento bastante cómodo con ellos. Como la mayoría de las personas, comenzaron con arduino, pero rápidamente se sintieron limitados por las opciones que brindaba y, por lo tanto, comenzaron a trabajar con AVR sin el código arduino.

Siento que ha llegado el momento de pasar a la arquitectura ARM. Por lo que he visto, proporcionan mucha más potencia y funcionalidad y parece el siguiente paso lógico.

Sin embargo, me resulta difícil encontrar el punto correcto de entrada al mundo ARM. Internet está lleno de recursos y es bastante desalentador.

Espero que alguien con experiencia pueda indicarme el camino correcto en términos de lectura, tutoriales, enlaces, etc. para ayudarme a comenzar.

Todo lo que sé sobre ARM en este momento es:

  1. A diferencia de AVR, licencian su diseño a empresas de terceros que realmente fabrican el chip.

  2. Hay muchas familias/proveedores de ARM de varios proveedores, cada uno con su propio conjunto de funciones, placas de desarrollo, etc.

Algunas de las principales preguntas que tengo en mente:

  1. ¿Cuáles son los proveedores más populares de ARM que están fácilmente disponibles y tienen un bajo costo de entrada? ¿También hay un enlace o una lista compilada por alguien que enumera todas las familias de brazos disponibles?

  2. Si compro ARM de un fabricante en particular, ¿estoy obligado a usar sus herramientas de desarrollo (¿gratuitas?) o simplemente me gusta AVR gcc, ¿hay algunas gratuitas disponibles?

Diría que el costo de entrada más bajo a nivel de chip es el LPC1114, que se programa fácilmente usando lpc21isp. A nivel de placa hay varias placas en el rango de precios E 5 .. 20 que incluyen los chips de destino y un cargador/depurador.
@WoutervanOoijen El precio no es la principal preocupación. La principal preocupación es la facilidad de uso (al menos inicialmente cuando todavía estoy aprendiendo).
La facilidad de uso tiene poco que ver con el chip y todo con el IDE, la cadena de herramientas y la documentación. No espere una gran cantidad de tutoriales como los que hay para AVR.

Respuestas (2)

  1. Hay muchos de ellos. Pero, en primer lugar, aquí están algunos de los jugadores más importantes en los microcontroladores ARM:

    • Atmel (mismo fabricante que AVR; presente en Arduino Due)
    • Cypress (en particular, el PSoC 4 y 5)
    • Energía Micro
    • Escala libre
    • NXP (familia LPC)
    • ST (STM32)
    • TI

    Si no está familiarizado con todos estos, le recomiendo que comience con la familia STM32. Es bastante razonable trabajar con ellos y tienen muchas placas de desarrollo razonablemente económicas disponibles, incluida la serie Nucleo .

  2. De nada. También hay un ARM GCC y, de hecho, muchos de estos fabricantes lo usan como parte de su cadena de herramientas estándar.

¿Algún consejo sobre la mejor manera de saltar a ARM? ¿Cuáles son las diferencias entre las diversas ofertas y qué es lo mismo entre ellas? ¿Existe algún conocimiento básico que se aplique a todos los ARM?
A partir de hoy la fusión entre NXP y Freescale reduce tu lista en uno :)
¿Philips compró Motorola o al revés? Espero que el cambio de marca vaya mejor que la fusión de la división de componentes pasivos de Siemens y Matsushita...
@BrianDrummond Parece que NXP sería el padre. Sin embargo, aún no está aprobado. eetimes.com/document.asp?doc_id=1325871
¡Gracias! Como preguntó @bigjosh, ¿qué es lo mismo y qué es diferente en estas ofertas? ¿También hay algún conocimiento básico que se aplique a todos los ARMS? Con los AVR, se trataba de leer tutoriales y probarlos yo mismo. ¿Es lo mismo con ARM o hay algún conocimiento previo que necesito leer? También tengo curiosidad, ¿los ARM independientes están programados usando la interfaz ISP (como con los AVR) o hay alguna otra forma?

Creo que una de las formas más fáciles de saltar a ARM es usar kits mbed y el compilador en http://developer.mbed.org/

Admiten chips NXP, STM, Freescale, Nordic y de otros proveedores, y sus kits de desarrollo y IDE en línea facilitan bastante el desarrollo. Cuando esté listo para tener más manos a la obra, a menudo puede exportar su código desde el IDE en línea a un formato GCC. Entonces debería poder obtener una cadena de herramientas ARM GCC común (me gusta la cadena de herramientas completa de http://www.linaro.org/downloads/ ) y compilar el código en su máquina con un Makefile incluido.

Si se decide por un chip especial como, por ejemplo, el CC3200 de TI para wifi, necesitará su IDE de Code Composer Studio para construir cualquier cosa semi-compleja porque muchos de los binarios para las bibliotecas en sus ejemplos están construidos solo para su propia plataforma. No es tan malo, pero ciertamente no es tan bueno como una línea de comandos donde puedes elegir más o menos hacer lo que quieras.

También puedes sumergirte por tu cuenta con ARM, no es tan malo. Pero es un poco más fácil comenzar con las bonitas bibliotecas de mbed y luego desplegarlas cuando las necesite.

¡Buena suerte!

Entonces, ¿mbed es una especie de equivalente arduino del mundo ARM?
Sí, un poco, para mí de todos modos. Arduino ahora también tiene compilaciones ARM, pero extrae mucho más de ti que mbed en mi opinión.