MBED: Desarrollo embedido para ARM con compilador web

Publicado por en Electrónica el 24/11/2009
Comentarios: 0

Con su tamaño de tan sólo 26x52mm (como un zócalo DIP de 40 pines), MBED es una completa placa de desarrollo para los microcontroladores ARM LPC2368 y LPC1768 de Philips listo para ser utilizado. Asemeja mucho al Arduino Nano el cual tiene un diseño practicamente identico salvo que MBED posee una características mucho más avanzadas, ya que en su interior se esconde un poderoso microcontrolador ARM de 32-bits con un núcleo Cortex-M3 corriendo a 60Mhz. Ésta pequeña placa, con un conjunto de librerias listas para su uso, pretende ser un potente entorno de desarrollo fácil y rápido de usar, pero lo que más llama la atención es su compilador ya que está totalmente bajo un entorno web y no es necesario descargar absolutamente nada para utlizarlo!

Os dejo más detalles y algunos videos a continuación...

La placa de MBED está muy bien diseñada y tiene amplias funcionalidades como se puede ver en el esquema. Podemos destacar sus 64K de RAM y 512K de flash para el programa con los cuales sus 60Mhz de frecuencia de trabajo harán que las aplicaciones más complejas sean pan comido.

Por otro lado y gracias a su microcontrolador ARM Cortex-M3, no se ha escatimado en entradas y salidas ya que posee nada más y nada menos que de pines para I2C, SPI, Ethernet, CAN, varios puestos UART, un conversor A/D de 12-bits (y D/A de 10-bits!) e incluso una RTC interna. Se alimenta con una tensión de alimentación de entre 4,5 y 9 Voltios y dispone de un conector MiniUSB.

Me parece interesante que con tan sólo un conector RJ45 tenemos la posibilidad de conectarlo a una red LAN ya que de todo lo demás se encarga la placa. Además, dispone de un sistema de archivos FAT lo que permite conectarlo a un puerto USB como su fuese un dispositivo de almacenamiento masivo y así utilizarlo directamente para transferir archivos a su memoria.

Parece que MBED sigue un la filosofía arduino ya que gracias a su librería podemos controlar de forma fácil todos sus periféricos, cosa normalmente algo compleja en la arquitetura ARM. Vemos por ejemplo éste pequeño trozo de código para gestionar la interfaz Ethernet:

// Read destination and source from every ethernet packet

#include "mbed.h"

Ethernet eth;

int main() {
    char buf[0x600];

    while(1) {
        int size = eth.receive();
        if(size > 0) {
            eth.read(buf, size);
            printf("Destination:  %02X:%02X:%02X:%02X:%02X:%02X\n",
                    buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);
            printf("Source: %02X:%02X:%02X:%02X:%02X:%02X\n",
                    buf[6], buf[7], buf[8], buf[9], buf[10], buf[11]);
        }

        wait(1);
    }
}

Como podemos ver, es muy sencillo gracias a la utilización de la librería generica.

Lo que quizás me ha llamado más la atención es su compilador ya que no dispone de un instalador convencional, sino que es un completo compilador que funciona online, es decir, es una página web por lo que podemos utilizarlo con cualquier navegar de cualquier sistema operativo. Esto es simplemente genial y una estupenda manera de aumentar la portabilidad del programa al mismo tiempo que se centralizan las actualizaciones.

Por desgracia no he tenido la ocasión de probar ésta pequeña preciosidad, sin embargo podeis leer una review completa aqui (en ingles) para más detalles o visitar su página oficial (ver enlaces). Mientras tanto os dejo algunos videos y enlaces de referencia para ver lo que se puede hacer con ésta pequeña maravilla que literalmente puede hacer sombra a nuestro querido Arduino.

 

Enlaces de interés:

Si te ha gustado, compártelo con tus amigos!
Google Plus 

Ver comentarios antiguos...