Microcontroladores , Open Hardware , Open Software e Tecnologia em Geral
Blog do Je » Page 'Embedded, I’m Bad , mBed'

Embedded, I’m Bad , mBed

  • Overview

O mBed  é um kit de desenvolvimento que fornece uma plataforma de prototipagem baseada na arquitetura ARM CORTEX-M3. Este kit possui um conjunto de características únicas que tem como objetivo final torna-lo muito fácil de usar. Simon Ford e outros engenheiros da ARM Holdings, iniciaram o projeto mBed de forma voluntária , com o objetivo de diminuir a curva de aprendizagem para o desenvolvimento de projetos usando a arquitetura ARM. Inicialmente foi utilizado o controlador LPC2368 da NXP mas a versão final do projeto do mBed é baseada no LPC 1768. Este chip por si só já é um microcontrolador poderoso e em torno dele foram colocadas algumas características muito interessantes, tais como a área de armazenamento, para a gravação de arquivos via USB e um chip PHY que implementa a camada física da interface ethernet.

  • Hardware

O mBed é baseado no LPC1768 , controlador da NXP  com núcleo ARM CORTEX-M3. Possui 3 interfaces seriais , interfaces CAN , SPI , I2C , Ethernet, clock de 96MHz,  512Kb de flash e 64Kb de ram. O conjunto está montado em formato DIP de 40 pinos , facilitando a sua inserção em protoboards.  O mBed pode ser alimentado pela porta USB ou pelos pinos específicos, com uma tensão de 4,5 ate 9 volts. Os pinos, quando configurados para I/O suportam sinais de 3.3 volts, capacidade de 40 mA, 400 mA no total para o controlador.

Ao ligar-se o mBed na interface usb do seu computador, ele se apresenta como um pen-drive de capacidade 2 Mbytes. Essa característica é uma das mais interessantes neste kit: a habilidade de se gravar um novo programa na flash do mBed pela simples cópia da nova versão do seu executável neste driver. Na sequência do boot do mBed, ele verificará qual é o arquivo com o a extensão BIN mais recente, presente neste pen-drive emulado, fará a carga na flash e começará a executa-lo.

  • Software

Esta é parte mais interessante e controversa do mBed: o ambiente de desenvolvimento é nas “nuvens” ! Não é por causa do preço do ambiente de desenvolvimento que eles está nas nuvens ou pensando melhor , é por causa exatamente do preço que ele está nas nuvens. Explicando , para poder disponibilizar uma plataforma de desenvolvimento de qualidade a baixo custo de distribuição e com facilidade de utilização , o projeto mBed optou por disponibilizar uma IDE via web, hospedada em servidores configurados em cloud-computing. Este ambiente é acessível através da url http://mbed.org e nele encontramos a opção “compiler”.

Esta opção abre uma ambiente de desenvolvimento tendo do lado esquerdo uma tela de edição de programa e do lado direito, uma arvore de projetos, contendo os projetos já construídos ou em desenvolvimento. Os programas são escritos neste ambiente usando C/C++, compilados e caso não tenham erros de sintaxe, são imediatamente linkados. Ao final, o seu browser abrirá um message box indicando que um arquivo está pronto para ser baixado. Este arquivo é o produto da final da compilação , com extensão BIN e voce deverá indicar a unidade de disco ou diretório, que o seu sistema operacional associou ao pen-drive que corresponde  ao mBed . Após fazer este download no mBed , basta apenas apertar o botão de reset e o mBed irá executar seu código. Muito fácil ! Com estas características , este se torna o kit com a largada de desenvolvimento do “hello world” mais rápida que já vi: em cinco minutos voce terá o seu LED azul piscando. O site mbed.org ainda disponibiliza para os usuários o HANDBOOK, contendo as referências de todas as funções da api mbed e a explicação de como usa-las para acessar o hardware do mbed. O mbed.org também disponibiliza o COOKBOOK, contendo uma série de receitas básicas para criar um webserver , como conectar em um banco de dados mysql , como usar o pwm, etc. Com essa ajuda,  voce sai do zero muito rápidamente na utilização deste ambiente de desenvolvimento

O lado controverso deste ambiente é que tudo isso só é possível se voce tiver internet , se ela for banda larga e principalmente se o mbed.org estiver online. Eu venho testando o mBed desde o final do ano passado e no dia 5 fevereiro de 2011, o site estava fora do ar para manutenção. Como não iria afetar as experiências que estava fazendo, a manutenção do site não me preocupou. Agora se voce está completando um protótipo de algum novo produto ou está na reta final do seu projeto para o TCC,  então a coisa pega e voce vai ficar p… da vida pela escolha que fez.  Mas nada tema , porque existe solução para este problema, não perca o proximo post.

  • Ecossistema, Rede Social , etc

Em tempos de facebook, twitter e compras coletivas, tudo que se cria atualmente na web, tem que ter um viés socialmente colaborativo, uma comunidade , vamos nos ajudar, vamos divulgar etc e tal. Assim o mbed.org resolveu surfar esta onda e juntou o compilador a um ambiente onde os usuários podem publicar seus perfis , gostos pessoais e principalmente compartilhar projetos, partes de códigos , bookmarks para referencias no handbook e no cookbook. Este ambiente social inclusive, incorporou recentemente uma geo-localização dos usuários. Se voce preencher no seu perfil qual é sua localização no planeta Terra, então uma interface, baseada no google maps, irá exibir onde voce está e onde estão os outros usuários . Com esta interface eu vi que no Brasil já tem uma boa quantidade de usuários e posso saber quem são e entrar em contato com eles se eu quiser.

  • Aplicações

O principal objetivo do mBed é o desenvolvimento rápido de protótipos baseados no LPC1768. Ele facilita muito a criação de código executável, através das apis da biblioteca do mbed e muito rápidamente voce pode testar os conceitos do seu produto antes de construir a sua versão final . Para o hobbysta, é a oportunidade de desenvolver utilizando um controlador muito poderoso e rápido,  com interfaces já integradas, com mais de 20 pinos de GPIO disponíveis para construir qualquer dispositivos. A adição destas interfaces em outros kits, os tornariam muito mais caros que os US$ 59,00 do mBed. Com estas funcionalidades, é possível utiliza-lo em robótica , automação residencial, UAVs, gadgets piscadores de leds de diversos tipos , dispositivos controlados ou monitorados via internet e uma multidão de aplicações onde a velocidade e variedade de interfaces é importante ou um diferencial.

  • Conclusões

O mBed é do k7 ou é uma furada ?  Eu acho que é uma mudança de paradigma interessante, causada pelo uso do compilador nas nuvens. Nada é instalado no seu desktop, nada tem que ser configurado e nenhum manual tem que ser lido para começar a usar o ambiente de desenvolvimento, por outro lado se o site estiver offline, voce dança . Mas é possivel criar o seu próprio ambiente de desenvolvimento baseado no GCC e compilar os seus programas no seu próprio computador. Mas tem um pulo do gato , voce perde a biblioteca mbed, que proporciona um acesso muito completo ao hardware do mBed e permite que se concentre na criação da aplicação . A biblioteca até este momento é proprietária mas existem sinais que venha a ser aberta no futuro.

De qualquer forma é um excelente produto e recomendo a quem tiver a possibilidade, que o compre e experimente , é realmente viciante ver este kit funcionando. Eu tenho um e recomendo.

  • Referências

http://mbed.org

Onde comprar o mBed

Arquitetura ARM na Wikipedia

Site da Empresa ARM Holdings

Grupo mbed-br para discussão do kit

Gostou deste post ? Divulgue !
delicious digg google
stumbleupon technorati Yahoo!

6 commentarios to “Embedded, I’m Bad , mBed”

  1. [...] Blog do Je » Embedded, I’m Bad , mBed. [...]

  2. Entre os distribuidores citados está a Farnell. Consultando o site deles aqui no Brasil encontrei uma verdadeira pechincha:

    http://www.farnellnewark.com.br/kitmbedprototypingboardlpc1768,product,1761179,4572773.aspx

    R$539,96

  3. [...] O kit é baseado no NXP LPC1768, um ARM Cortex-M3 com 512K de memória Flash, 64K de RAM e diver­sas inter­faces como CAN, SPI, I2C e Eth­er­net. No site do pro­jeto tem bas­tante doc­u­men­tação, vídeos, código-fonte, etc; e tem tam­bém um artigo bem legal sobre o mbed no Blog do Je. [...]

  4. Será que ele não possui um compilar offline, deixar seu code online é meio furada…

  5. Jefferson,
    Muita coisa mudou desde a epoca que escrevi este post. No blog do sergio Prado tem uma “receita de bolo” para desenvolvimento offline:
    http://sergioprado.org/mbed-desenvolvendo-em-cortex-m3-com-o-gcc/
    Abs

  6. [...] O kit é baseado no NXP LPC1768, um ARM Cortex-M3 com 512K de memória Flash, 32K de RAM e diver­sas inter­faces como CAN, SPI, I2C e Eth­er­net. No site do pro­jeto tem bas­tante doc­u­men­tação, vídeos, código-fonte, etc; e tem tam­bém um artigo bem legal sobre o mbed no Blog do Je. [...]

Deixe um comentario

XHTML - Voce pode usar:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Topo da página / Assinar para receber novos Posts (RSS)