Inicio Software Nublado con posibilidad de microcontroladores

Nublado con posibilidad de microcontroladores

Lucio Di Jasio, Director de Desarrollo del Negocio en la región EMEA de Microchip Technology, analiza el entorno de desarrollo integrado (IDE) completo más reciente en línea

Durante los últimos años se han trasladado o se han creado en la nube varios entornos de desarrollo integrados (Integrated Development Environment, IDE). Si bien esto quizá era algo natural para el desarrollo de aplicaciones en la web (utilizando para ello Javascript, HTML, CSS, PHP…) y más tarde para aplicaciones en general (Java, Python, Ruby…), la industria de desarrollo embebido se ha quedado atrás. Puede que la razón haya que buscarla en que el sistema objetivo de las aplicaciones embebidas sea, de manera intrínseca, más “físico”. Quizás el excesivo revuelo que rodea al término “nube” ha hecho que los desarrolladores hayan escuchado con aparente indiferencia o escepticismo cualquier anuncio de producto en la “nube”.

Estas reacciones proceden de dos puntos de vista opuestos. Hay una generación que está entrando ahora en el mercado laboral con y que ha vivido toda su vida conectado. Para ellos, estar en línea es algo natural. Del mismo modo, un servicio o herramienta que no esté disponible en cualquier momento, en cualquier lugar y desde cualquier plataforma informática, representa una anomalía. La otra perspectiva procede de un grupo más pragmático, que quizás representa a la mayoría, que se cuestiona las ventajas que representaría trasladar el entorno de desarrollo al navegador. Tienen diferentes dudas sobre la seguridad y las prestaciones, y necesitan pruebas y asegurarse bien antes de que puedan aceptar esta nueva tecnología.

Para este grupo, la mayor motivación podría ser la constatación de que los IDE modernos han crecido hasta llegar a ser objetos muy potentes pero también muy grandes y complejos. Eso implica que necesitan actualizaciones frecuentes y un mantenimiento cuidadoso. Por ejemplo, MPLAB X – que se basa en el proyecto IDE de código abierto Netbeans – cubre miles de modelos de microcontrolador diferentes y se actualiza mensualmente, para lo cual necesita descargar unos 400Mbyte.

Los compiladores de C que se conectan a él – paquete de compiladores MPLAB XC– se actualizan con menor frecuencia pero requieren descargar otros 100Mbyte aproximadamente. Añadiendo unos pocos conectables más se puede superar con rapidez medio gigabyte de datos. Por encima de todo hay que tener en cuenta el tiempo que se gasta en realizar las instalaciones y el mantenimiento en general. Quien dirija un pequeño laboratorio en el mundo educativo o un equipo de desarrolladores profesionales sabe cuánto trabajo hace falta para que todo esté actualizado y en buenas condiciones.

Además, en estos entornos existe una gran preocupación por la gestión de los permisos necesarios para instalar aplicaciones en ordenadores compartidos. Cuando se adopta un paquete de herramientas basadas en la nube, todo ese trabajo se convierte en un sencillo acceso en línea, tras el cual el usuario dispone en un navegador de la revisión más actualizada de cada componente del paquete de herramientas o una selección que haya archivado. Sin embargo, estar en línea puede añadir una dimensión totalmente nueva a la experiencia de desarrollo embebido. Una vez virtualizado el IDE, los proyectos pueden se pueden trasladar rápidamente a otra estación de trabajo y el trabajo iniciado en una oficina o clase se puede trasladar a cualquier localización nueva. El intercambio y la comunicación entre equipos cercanos geográficamente dispersos se convierten en algo natural, más fácil de configurar y de mantener.

Con el reciente lanzamiento del IDE MPLAB Xpress basado en la nube, Microchip ha enviado una potente señal a la comunidad de desarrollo embebido. Si bien no es quizás el primero en ofrecer editores y compiladores en la nube, el nuevo paquete de herramientas basadas en la web es posiblemente el más completo desde el punto de vista del soporte de hardware y software. De hecho, desde el primer momento incluye soporte para unos 400 modelos de microcontroladores y está previsto que pronto se amplíe para cubrir todo el catálogo de productos de 8, 16 y 32 bit, incluyendo así potencialmente más de 1.000 dispositivos.

Por lo que respecta a las capacidades de depuración de software que ofrece, la lista incluye soporte para simulación en línea así como acceso directo a depuradores y programadores en circuito. Lo más importante es que la larga lista incluye una novedosa herramienta de desarrollo rápido denominada MPLAB Code Configurator, que permite tanto a diseñadores expertos y noveles ahorrar muchas horas empleadas en estudiar el dispositivo (hoja de datos) y/o la documentación de sus bibliotecas de periféricos (referencia API) y centrarse más en la parte creativa de sus aplicaciones.

Facilitar las cosas

La consecuencia importante de hacer que un entorno de desarrollo completo sea accesible mediante una sencilla sesión web es que lo que solía ser una gran barrera de entrada se ha ido aplanando hasta desaparecer. No existe prácticamente ningún compromiso a la hora de probar un nuevo microcontrolador. Incluso el propio inicio de la sesión es innecesario para quienes quieren echar un vistazo rápido y probar el sistema de forma anónima. P r o b a r u n a n u e v a f u n – ción, bien sea un periférico del microcontrolador o una nueva herramienta de software para el desarrollo rápido de prototipos es solo cuestión de unos pocos clics de ratón. Sin embargo, MPLAB Xpress no es un juguete o una herramienta dirigida únicamente a principiantes. Tanto el interface de usuario como las herramientas subyacentes se han diseñado para que se parezcan y se comporte exactamente igual que su equivalente de sobremesa; de hecho, son indistinguibles. Esto significa que no habrá una segunda curva de aprendizaje si el usuario decide pasar de la nube a la sobremesa. De hecho, la herramienta de la nube tiene las mismas funciones que su homónima de sobremesa y la transición de un proyecto entre ambas no solo es posible sino que será impecable.

Prestaciones

Cuando pensamos en un entorno de desarrollo que requiera una presencia constante en línea, nos viene a la cabeza de inmediato en la velocidad y el ancho de banda, así como en el coste resultante de la conexión. Sin embargo, las herramientas en la nube más modernas se basan en la tecnología AJAX. Esto significa que aprovechan al máximo las capacidades del navegador para ejecutar el código localmente – de manera asíncrona y utilizando Javascript, de ahí la A y la J del acrónimo – por lo que la aplicación (AX) puede ser muy sensible y no exige pulsar una sola tecla. Existen transferencias de archivos, pero solo cuando se ha guardado el archivo o se ha abierto para editarlo. Se trata generalmente de archivos pequeños de texto (.c, .h, .hex) que son superados fácilmente tanto en número como en tamaño por las imágenes y los anuncios que carga un navegador por término medio cuando accede a cualquier página web moderna. En cambio, al compilar el código de la aplicación el servidor trabaja íntegramente con copias locales y el proceso es sorprendentemente r&aa
cute;pido. De hecho, en el día a día es normal observar cómo el compilador de la nube puede superar habitualmente las prestaciones de un ordenador portátil, aún más a medida que aumentan la complejidad y el tamaño del proyecto.

Seguridad

La seguridad en las aplicaciones en la nube es un asunto muy delicado. Las grandes compañías están gastando enormes cantidades de dinero en anuncios para convencernos de que todos que datos – o código en este caso – están perfectamente seguros en la nube. Los mejores argumentos hasta ahora, desde una y otra parte, vendrían a ser los siguientes:

• Escépticos: Si el valor o la motivación son suficientes, con el tiempo los atacantes acabarán encontrando una manera de entrar. Ésta es una regla que generalmente se cumple para todas las cosas e incluye también cualquier acceder al valioso código de una compañía privada. • Creyentes: Las compañías que proporcionan servicios en la nube también están muy motivadas y en las mejores condiciones para disponer de recursos muy especializados – humanos y equipos – para trabajar con el fin de mantener la seguridad de los datos. Estos recursos son probablemente muy superiores a los que puede afrontar el típico departamento de TI de una empresa. MPLAB Xpress adapta una criptografía avanzada – la misma que utilizan los mejores sistemas bancarios en línea – para proteger las conexiones, así como los datos y las aplicaciones sensibles de cada usuario. Al final, en los próximos años cada uno de nosotros estará expuesto a este dilema tecnológico y tendremos que elegir si los riesgos superan a los beneficios ofrecidos por una multitud de nuevos servicios en la nube.

Herramientas de hardware en la nube

El paquete de herramientas en línea incorpora el MPLAB Simulator para proporcionar capacidades de depuración básica, pero los usuarios querrán utilizar en su mayoría herramientas para el desarrollo de prototipos y depuración de hardware. Para ello hay varias alternativas. Por ejemplo, la tarjeta de evaluación MPLAB Xpress (Fig. 4) ofrece el nuevo microcontrolador de aplicación general PIC16F18855, que incorpora quizás el mayor conjunto de periféricos independientes del núcleo existente hasta la fecha. La tarjeta de evaluación se conecta a un ordenador PC, Mac o Linux como un dispositivo de almacenamiento masivo USB y permite que el usuario solo tenga que arrastrar y soltar un archivo ejecutable de aplicación (.hex) para programar el objetivo.

Esto tiene la ventaja de que no necesita instalar ningún driver. La tarjeta también se registra automáticamente con el ordenador como puerto serie virtual (USB-CDC), permitiendo así que cualquier programa de terminal se conecte directamente al UART del microcontrolador PIC. Los usuarios de Windows necesitarán instalar un pequeño archivo (.inf) para habilitar esta característica por primera vez. En cambio, los usuarios de Linux y Mac tienen acceso libre. Se puede utilizar un puente USB, ejecutado como un módulo Java (Fig. 2), para conectar los programadores y depuradores universales de hardware de Microchip, como el PICKit3 o el PICDEM Curiosity. Esta opción abre la puerta a una amplia gama de tarjetas de demostración tanto de Microchip como de terceros y, por supuesto, a cualquier tarjeta a medida del usuario.

Resumen

Los desarrolladores de control embebido, tanto los nuevos como los experimentados, encontrarán que MPLAB Xpress ofrece una bocanada de aire fresco. El gran número de dispositivos compatibles y la integración con las herramientas de desarrollo rápido como MPLAB Code Configurator hacen que MPLAB Xpress ocupe un lugar especial. Va a ser emocionante comprobar cómo utilizan esta herramienta las nuevas generaciones y cómo cambiará el control embebido en la era de la nube.