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:
A diferencia de AVR, licencian su diseño a empresas de terceros que realmente fabrican el chip.
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:
¿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?
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?
Hay muchos de ellos. Pero, en primer lugar, aquí están algunos de los jugadores más importantes en los microcontroladores ARM:
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 .
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.
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!
Wouter van Ooijen
Ankit
Wouter van Ooijen