Última actualización: 20 de mayo de 2009
Esta arquitectura de 32 bits para microcontroladores tiene muy buena pinta y parece tener futuro. El objetivo de ARM es tener precio de 8 bits y potencia de 32 bits, es decir, hacerse con el mercado de 8 y 16 bits.
A mediados del 2008 se presentó la revisión 2 de la arquitectura Cortex-M3, con interesantes mejoras en la gestión de energía (por ejemplo, el "Wake-Up Interrupt Controller" (WIC) permite pasar de dormido a activo rápidamente). Habrá que tenerlo en cuenta para futuras evaluaciones cuando ya haya disponibles chips con la revision.
Esta arquitectura está soportada por el "GNU Toolchain", así que se pueden hacer progrmas sin gastarse nada en las herramientas software (pero, por lo leido, no es fácil).
Como un objetivo es que lo puedan usar los alumnos en sus propios proyectos, la idea es buscar sistemas de desarrollo lo mas económicos posible.
ARM ha creado una pagina donde se van añadiendo los miembros "públicos" que van produciendo los fabricantes. Están mezclados todos los tipos de ARM microcontrolador (ARM7-TDMI, ARM-9, ...).
Esta en www.onarm.com, sección "available devices".
Por la experiencia con distintos fabricantes, nos hemos decantado por elegir entre los siguientes fabricantes: Atmel, Luminary, NXP y STMicroelectronics.
Se ha comprobado que en Atmel solo hay una foto de la nueva familia SAM3 y que no hay nada mas disponible. Bueno, ahora (junio 2009) hay algo mas http://www.atmel.com/products/at91/sam3landing.asp?family_id=605.
NXP ya tiene diponibles muestras (de hecho ya tengo uno), pero no se pueden comprar aun (tienen una pinta impresionante y son de la revisión 2 de la arquitectura).
Quedan Luminary y St. Los dos parecen buena elección y hay kits de evaluacion a buen precio.
El único especifico que he encontrado:
"The Definitive Guide to the ARM Cortex-M3" by Joseph Yiu. Publisher: Newnes (August 23, 2007) ISBN-10: 0750685344 ISBN-13: 978-0750685344
Después de leerlo, el consejo es que más vale empezar por otro sitio o podemos desanimarnos. Es muy técnico y enfocado a la arquitectura y su aprovechamiento desde el punto de vista del código máquina.
Para romper mano, quizá sea mejor utilizar las guías de los fabricantes. Las de St se entienden bastante bien.
En la conferencia ESC, Micrium y ST han presentado un libro+kit para RTOS. Mola, habra que hacerse con el.
"Amb diners, cartxofes", pero estamos buscando algo económico que puedan comprar nuestros estudiantes.
A continuación se enumera lo que se va encontrando y su precio aproximado. Se clasifica por fabricantes del micro.
Módulos del fabricante en http://www.luminarymicro.com/products/kits.html. Precios a partir de 40 Eur. y muy buena pinta. Se pueden probar las placas on-line.
Atencion, tener en cuenta que hay una nueva "conectivity line".
Módulo ST Primer 2 de Raisonance. Unos 70 Eur. y muy bien equipado. Tiene una comunidad muy activa llamada stm32circle. ATENCIÓN: No coger la version antigua (la redonda).
Están apareciendo también módulos añadidos muy interesantes aquí http://www.raisonance-tools.com/primer2-addon.html
Modulo STM3210E-LK del fabricante. Aún no existe y no sé si saldrá de verdad (lo he encontrado en la documentacion interna de St).
Módulo STM32-H103 de Olimex. Sencillo e ideal para los alumnos y para algunos diseños. Unos 27 Eur.
Módulo de la China por Ebay en la tienda eelec. Unos 100 Eur. pero impresionantemente equipado y con JTAG. ¿Funcionará?.
Módulo de ET-STM32F103 de ETTteam. Por Ebay se puede encontrar por unos 35 Eur. Buena pinta.
Módulo bugblat cortino por 30 Eur. Pretende ser compatible con el arduino.
Módulos de propox. Pequeñitos. Unos 30 Eur.
Ya tiene los SAM3 funcionando.
En Keil hay un kit interesdante: http://www.atmel.com/products/at91/sam3landing.asp?family_id=605
Imprescindible para depurar y hacer cosas serias. Interesan solo los que sean muy económicos.
Olimex ARM-JTAG. Unos 15 Eur.y es compatible Wiggler (puerto paralelo). Tienen más tipos que son USB.
Clónicos del U-Link de Keil en ebay.
Desarrollo en ensamblador y C.
IAR.
Raisonance. Incluye el GNU toolchain.
Codesourcery. Coge las herramientas libres habituales (Eclipse+GNU toolchain...) y las revisa para que vayan finas.
Otros:
Depuracion con OpenOCD.
mas cosas:
http://rowebots.com/Embedded_Processor_support/TI_AEC_ARM_Cortex-M3 ukernel compatible POSIX y Linux. Brutal.
Esta arquitectura está cargadísima de periféricos y posibilidades por lo que empezar un aplicación desde 0 es bastante trabajoso.
Para facilitar la entrada en esta familia, los fabricantes suelen proveer una librerías que facilitan mucho el desarrollo de las aplicaciones, reduciéndose considerablemente el esfuerzo para aprender a manejar los distintos dispositivos.
Hasta el momento, cada fabricante ofrecía su propio "firmware", con lo que un desarrollo empleando las librerías de un determinado fabricante de Cortex-Mx no era compatible con las de otro fabricante de las misma arquitectura.
Con el propósito de estandarizar, ARM y los fabricantes han propuesto CMSIS (Cortex Microcontroller Software Interface Standard), que se traduce en la práctica en que las librerías serán comunes a los fabricantes que se adhieran a esta iniciativa. En abril de 2009, St presentaba su librería estándar 3.0.0, y Luminary Micro está haciendo otro tanto.
CONSEJO: Dejar pasar un par de meses antes de seguir trabajando y pasarse a estas librerías estándar.
ARM ofrece recursos y descuentos a Universidades en http://www.arm.com/community/university/. Hoy (4/2/2009) esta haciendo donaciones de hardware a personal cualificado (profesores, investigadores,etc) hasta que se agote.
Uno que tiene informacion sobre como empezar: http://milksnot.com/joomla/blog/11-generalblog/50-arm-cortex-m3-getting-started