El microcontrolador de ARM, con su extensiva capacidad de procesamiento, se posiciona como una de las piezas fundamentales de la Internet de las cosas (IoT, Internet of Things). Sin embargo, hay quienes dicen que el chip no tiene la suficiente cantidad de memoria, mientras que otros dicen que tiene más que suficiente.
Los chips STM32 F7, de ST Microelectronics, ganaron el premio a lo mejor del evento el pasado mes de septiembre, en ARM TechCon. La familia de chips de ST es la primera línea de MCUs (unidades microcontroladoras) de 32 bits en incluir un núcleo ARM Cortex-M7 acompañado de 320 KB de SRAM y 1024 KB de memoria flash. Los modelos Cortex-M7 de Atmel (no anunciados aún) tendrían 384 KB de SRAM y 2 MB de flash. Tales cantidades son 10 veces superiores a las que ofrece una MCU típica.
Pero a pesar de las promesas del nuevo núcleo MCU de ARM, hay quienes dudan de que tenga los recursos necesarios como para “hacer el trabajo”. “Para los desarrolladores acostumbrados a Windows, Linux, iOS, programación de web services y programación de lógica de negocios, el Cortex-M7 es restrictivo y sofocante”, señaló Matt Liberty, fundador de Jetperch LLC, empresa proveedora de servicios de consultoría en DSPs y software embebido. “Pero para quien ha trabajado con un 8051, con cualquier procesador de 8 bits o con núcleos Cortex-M0 a M3, el Cortex-M7 resulta algo absolutamente masivo”.
Algunos consideran que la memoria del M7 es escasa para IoT, aún con las características de la MCU de ARM pensadas para dotarla de funcionalidad avanzada, como por ejemplo el acelerador adaptativo de tiempo real para memoria flash embebida interna y la caché L1 tanto para ejecución como para acceso a datos de memorias internas y externas.
“Es mucha memoria y almacenamiento para un microcontrolador”, destacó Michael Anderson, CTO y científico en jefe de PTR Group. “Pero incluso con la más pequeña de las máquinas virtuales Java, que requieren al menos 2 MB para correr, es improbable que veamos en el corto plazo a una plataforma Java o a cualquier otra basada en máquinas virtuales corriendo sobre estos diminutos núcleos de CPU. Si se agrega un stack de comunicaciones o un sistema operativo de tiempo real, como el mbed de ARM o el FreeRTOS, el espacio para programas comienza a verse muy pequeño”.
Anderson enfatizó el hecho de que la fuerza vital de muchas de las nuevas aplicaciones IoT será la utilización de la memoria. “La memoria es valiosa. El encapsulamiento de APIs dentro de bibliotecas de clases, aunque es común en las computadoras de propósito general, es algo que consume mucha memoria. Hay pocos en la industria informática que no sean conscientes de la gran cantidad de memoria que nuestro código ha comenzado a requerir en los últimos años. Si no comenzamos a pensar firmemente acerca de qué es lo que estamos desarrollando, y seguimos escribiendo código de la misma forma en la que estamos acostumbrados, nunca seremos capaces de aprovechar todas las nuevas posibilidades que ofrecen para IoT estos microcontroladores con memorias diminutas”.









