Únete a los más de 155,000 seguidores de IMP

electronica-news.es
Mouser News

La evolución de los sistemas integrados y el avance del sector

En este breve blog, hablaremos en términos generales de cómo se han desarrollado los sistemas integrados, así como de su constante evolución y adaptación.

La evolución de los sistemas integrados y el avance del sector

El desarrollo integrado ha cambiado mucho en los últimos treinta años, y lo mismo ha ocurrido con las cadenas de herramientas empleadas para programar, compilar y depurar. Las tendencia del sector y las capacidades de hardware —como la baja potencia, la conectividad y la seguridad— son cada vez más sofisticadas y tienen un elevado nivel de integración, así que es necesario disponer de cadenas de herramientas con nuevas funciones, como paquetes de soporte de placa, controladores y bibliotecas.

La evolución del desarrollo integrado
Hace poco tiempo, la mayoría de sistemas integrados carecía de conectividad y de funciones de seguridad. Su único objetivo era controlar un aparato, como una caldera industrial o una lavadora doméstica.

Muchos desarrolladores de sistemas integrados aprendieron a programar microcontroladores con técnicas de código máquina Bare-Metal. Esta programación con códigos de operación era lenta, compleja y pesada. Afortunadamente, se empezó a utilizar el lenguaje ensamblador, lo que facilitó el trabajo de los desarrolladores y allanó el camino para el cambio a lenguajes de alto nivel, como el C.

En un primer momento, el lenguaje C se desarrolló para el sistema operativo Unix, a principio de los ochenta, y estaba muy vinculado a este. El lenguaje aportaba un acceso eficiente y de bajo nivel a la memoria y un mapa para las instrucciones de código máquina en el procesador subyacente, así que se convirtió en la opción ideal para los sistemas integrados.

A fin de fomentar la adopción de sus microcontroladores (MCU) y microprocesadores (MPU), las empresas del sector del silicio empezaron a invertir en el desarrollo de cadenas de herramientas para entornos de desarrollo integrado (IDE). Por entonces, el concepto de ecosistema abierto no existía, así que la mayoría de los desarrolladores creaban y mantenían sus propios conjuntos de bibliotecas y funciones. Además, el juego de instrucciones de cada proveedor era diferente, y solían vender controladores, bibliotecas y otros elementos de propiedad intelectual para los dispositivos.

¡Cómo han cambiado las cosas!

El desarrollo integrado en la actualidad: cómo hemos llegado aquí
Actualmente, si alguien empieza a trabajar como desarrollador de sistemas integrados se encuentra con un mundo completamente distinto. Para empezar, se trata de una industria abierta. La arquitectura Arm (basada en licencia) llegó en un momento en el que muchas empresas de silicio se enfrentaban a elevados costes para el fomento y el soporte de sus propias arquitecturas en un sector que era cada vez más competitivo. Con los años, muchos de los pricipales proveedores de MCU y MPU han reducido la oferta de productos de arquitectura y se han centrado en la gama de dispositivos basados en Arm. Con esta estrategia, se ha experimentado un crecimiento en la adopción de la arquitectura Arm y de la correspondiente inversión en I+D, lo que ha sido positivo para estas empresas. A fin de diferenciar sus productos de otros licenciatarios de Arm, los proveedores añaden bloques de conectividad periférica, transceptores inalámbricos, gestión de alimentación y funciones analógicas.

El cambio a Arm también supuso un alejamiento de los IDE específicos de un proveedor, especialmente a medida que iban naciendo empresas de software independiente. Aún hay IDE de proveedores y, en algunos casos, han logrado mejorar rápidamente sus funciones gracias a la adquisición de empresas emergentes del sector del IDE.

Los desarrolladores tienen que lidiar ahora con un complejo juego de dispositivos de hardware y funciones. Para aliviarles la carga, los proveedores están invirtiendo en paquetes de soporte de placa y recursos de software integrales. Algunos ejemplos de esta tendencia son las bibliotecas de código abierto y un firmware capaz de extraer las funciones de hardware de bajo nivel y colocarlas en llamadas a funciones de alto nivel sencillas y prácticas.

El lanzamiento de Arduino y de ordenadores similares de una sola placa (SBC), como BeagleBone o Raspberry Pi, supuso el inicio de una era para el desarrollo del código abierto. Con el nacimiento de estas placas, se establecieron comunidades de ecosistemas en empresas de hardware y software, y se permitió la entrada de innovadores y estudiantes al mundo del desarrollo de microcontroladores. Linux pasó a ser el sistema operativo principal en muchos SBC, y FreeRTOS supuso un avance para la disponibilidad a gran escala de un sistema operativo en tiempo real.

Actualmente, la industria del desarrollo integrado tiene un carácter global. A fin de acelerar aún más la creación de prototipos y los ciclos de desarrollo (normalmente, con limitaciones de tiempo), los proveedores ofrecen módulos de evaluación integrales, placas de desarrollo, kits de desarrollo de software y diseños de referencia. Recientemente, algunas aplicaciones modernas, como el internet industrial de las cosas (IIdC), ha puesto el foco en la necesidad de disponer de sistemas conectados, alimentados por batería y de baja potencia. En respuesta, las empresas han añadido modos «en espera» al procesador principal y bloques periféricos. El equilibrio entre los perfiles de consumo de potencia activa y el modo «en espera» de los procesadores y una respuesta rápida a la interrupción en las aplicaciones, se ha convertido en uno de los problemas principales del desarrollo.

Los scripts basados en eventos y con poca necesidad de programación (low code), los lenguajes como Node-red y las pilas de comunicación ligeras, como CoAP o MQTT, han añadido un factor muy interesante al desarrollo integrado. Son métodos ideales para el desarrollo de aplicaciones IdC/IIdC en microcontroladores de potencia ultrabaja y pocos recursos.


La evolución de los sistemas integrados y el avance del sector

Las implantaciones en plataforma y los IDE basados en la nube impulsan el sector integrado

Recientemente, el sector del desarrollo integrado ha experimentado una gran cantidad de soluciones de hardware y software, como Zerynth. Estos sistemas ofrecen una plataforma de hardware integral y una infraestructura en la nube para suministrar rápidamente lo necesario a las aplicaciones IdC/IIdC. Por ejemplo, en el contexto de las empresas de maquinaria para la automatización industrial, desarrollar sistemas integrados y personalizados y alojar una infraestructura en la nube que sea segura y fiable es una tarea gigantesca. Requiere mucho tiempo y dinero, y solo lo pueden hacer personas con un gran nivel de conocimientos y experiencia. Con el hardware no especializado, los proveedores de aplicaciones para el IIdC pueden diferenciar sus propuestas con las funciones de software e incorporar las opciones necesarias de cifrado y seguridad de datos.

Un desarrollo integrado y colaborativo es ahora posible, ya que muchos IDE, como TI Cloud Composer y Arm mbed, han pasado a operar online. Algunos IDE en la nube también son compatibles con repositorios compartidos de código GitHub públicos y privados, algo imprescindible en muchos proyectos de código abierto. Los entornos de desarrollo integrado multiplataforma y multiarquitectura, como PlatformIO, son una alternativa viable, colaborativa e integral a las cadenas de herramientas tradicionales, y contienen en un solo entorno herramientas analíticas de código estático, depuradores, repositorios y un IDE completo. Mientras tanto, los proveedores independientes de IDE y herramientas, como MikroE y Segger, están mejorando sus ofertas para incorporar RTOS y abrirse a nuevas arquitecturas de conjunto de instrucciones, como RISC-V.

¿Qué será lo siguiente?
Durante la pandemia, el uso de las plataformas colaborativas y del desarrollo en línea ha crecido considerablemente, y numerosos equipos se han tenido que adaptar al teletrabajo. Parece que esta estrategia podría mantenerse durante un tiempo. El mundo del desarrollo integrado es cada vez más virtual. En consecuencia, es posible que los IDE en la nube y las herramientas de desarrollo colaborativo incorporen aún más funciones e innovaciones en el próximo año.

En septiembre de 2020, MikroE, una empresa de herramientas integradas, lanzó el servicio Planet Debug, basado en su IDE, Necto Studio. Con este servicio, los desarrolladores de sistemas integrados pueden hacer tareas de programación y depuración desde cualquier lugar del mundo y en cualquier momento, así que ya no es necesario que tengan un dispositivo de hardware de destino. Hay plataformas de desarrollo remoto MikroE disponibles dentro de Necto Studio, y una fuente de vídeo muestra en tiempo real lo que sucede en la placa.

Aún estamos en el inicio del trabajo en plataformas de hardware virtuales, pero la innovación es la base de la comunidad del desarrollo integrado.

www.mouser.com

  Solicite más información…

LinkedIn
Pinterest

Únete a los más de 155,000 seguidores de IMP