Introducción al software de código abierto con la serie de productos RA de Renesas
Colaboración de Editores de DigiKey de América del Norte
2020-09-10
Los equipos de desarrollo se enfrentan a varios desafíos, como los costos de desarrollo, la creciente complejidad de los sistemas, los ciclos de desarrollo más cortos e incluso el bloqueo de los programas informáticos. Este empuje para hacer más con menos se está convirtiendo en un tema común en toda la industria de los productos integrados: ya no hay tiempo para empezar un diseño desde cero. Aunque el software de código abierto puede ser extremadamente útil, también puede ser arriesgado desde el punto de vista de la integración, los errores y el calendario del proyecto, pero eso está cambiando.
Una solución única que los equipos pueden aprovechar para resolver estos desafíos es utilizar las plataformas emergentes de software de código abierto. Estas plataformas a menudo se integran y se prueban para eliminar el riesgo y están diseñadas para trabajar con las familias de microcontroladores en las que se basan.
Este artículo presentará el concepto de software de código abierto y describirá cómo las plataformas reducen el riesgo. A continuación, se mostrará cómo empezar a utilizar una plataforma de código abierto con el paquete de software flexible (FSP) de Renesas en la serie RA de microcontroladores.
Ventajas y desventajas del software de código abierto
El software de código abierto es un software con código fuente que cualquiera puede inspeccionar, modificar y mejorar1 dentro de los límites que establece el modelo de licencias de software. El software de código abierto se ha convertido en un activo fundamental para los equipos de desarrollo porque fomenta la reutilización y proporciona acceso a los módulos de software que ya existen, con poco o ningún costo. Por ejemplo, se necesitaría mucho tiempo y presupuesto para escribir un RTOS desde cero, y bastante más tiempo y recursos para mantenerlo durante varios años. En cambio, los desarrolladores pueden aprovechar varios RTOS de código abierto. Esto les permite centrarse más en el código de su aplicación para diferenciarse, en lugar de pasar el tiempo manteniendo el sistema operativo subyacente.
En los ciclos de desarrollo en los que los calendarios y los presupuestos se ven constantemente apretados, el software de código abierto proporciona un mecanismo que permite a los equipos aprovechar lo que ya existe y centrarse en su código de aplicación. El software de código abierto también tiene varios beneficios más allá de ahorrar tiempo y dinero. Estos beneficios incluyen la transparencia en el código frente a un binario compilado y, a menudo, hay acceso a una comunidad mundial de desarrolladores con ideas afines.
Dicho esto, existe cierto riesgo asociado con el software de código abierto, por lo que hay varias consideraciones importantes que los desarrolladores deben tener en cuenta en su decisión de trabajar o no con software de código abierto.
En primer lugar, no todo el software de código abierto tiene un soporte global. Existen diferentes softwares que se diseñaron por diversión en su sótano o garaje. Pueden ser compatibles con el código por un corto tiempo y luego pasar a algún otro proyecto que les resulte más interesante, dejando a los usuarios por su cuenta.
En segundo lugar, el software de código abierto puede venir con uno de varios modelos de licencia diferentes. Algunas licencias permiten que el software sea utilizado comercialmente o para cualquier propósito. Otras licencias esperan que cualquier código o cambio relacionado sea compartido abiertamente con la comunidad. Si bien esto puede parecer en principio bastante justo, también es un riesgo potencial de responsabilidad y puede requerir que la compañía libere su código fuente.
Finalmente, la calidad puede ser golpeada y fallida cuando se trata de software de código abierto. Los desarrolladores a menudo tienen una idea específica de lo que quieren construir y a menudo están construyendo algo que es funcional. La funcionalidad no significa que sea robusto, sin errores, o que se pueda integrar fácilmente en otros paquetes de software o bases de código. La calidad puede ser un gran obstáculo cuando se utiliza software de código abierto, por lo que el usuario debe tener cuidado.
Deshacerse del riesgo del código abierto con el FSP de Renesas
Para reducir al mínimo el riesgo del código abierto, y al mismo tiempo maximizar los beneficios, los desarrolladores pueden aprovechar el software que ya ha sido integrado, probado y apoyado por un proveedor de confianza. Este es el propósito del FSP de la serie RA de Renesas.
La serie RA de Renesas es interesante porque más allá del hardware, la plataforma proporciona software de código abierto en forma de su FSP (Figura 1). El FSP proporciona todo el software necesario para poner en marcha el microcontrolador, incluyendo el paquete de soporte de la placa (BSP), la capa de abstracción de hardware (HAL) y varias pilas de middleware. El FSP también incluye FreeRTOS, un RTOS de código abierto que es popular entre los desarrolladores. El software también ha sido integrado y probado para que los desarrolladores puedan empezar a escribir el código de su aplicación inmediatamente y minimizar el tiempo dedicado a preocuparse por el hardware de bajo nivel.
Figura 1: El FSP proporciona pilas de software integradas que funcionan inmediatamente fuera de la caja y son fácilmente configurables. (Fuente de la imagen: Renesas)
El FSP está diseñado para trabajar solo con la serie de microcontroladores RA de Renesas. Iniciarse en la plataforma es fácil, pero requiere que los desarrolladores seleccionen primero una placa de desarrollo.
Selección de una placa de desarrollo de la serie RA de Renesas
La serie RA de Renesas se divide en cuatro grupos de familias de procesadores principales que incluyen las series RA2, RA4, RA6 y RA8. Cada familia de procesadores se adapta a un grupo de rendimiento ligeramente diferente y proporciona un Arm® Cortex®-M23, Cortex-M33 o procesador Cortex-M4 (Figura 2). El flash y las funciones disponibles se amplían de la serie RA2 a la serie RA8, con el consiguiente aumento del consumo de energía.
Figura 2: La serie RA de microcontroladores de Renesas se divide en cuatro familias generales que proporcionan varios rangos de rendimiento a través de varios núcleos de procesador diferentes de Arm Cortex-M. (Fuente de la imagen: Renesas)
Al decidir qué placa de desarrollo utilizar, puede ser útil identificar primero la aplicación final. Por ejemplo, para una aplicación de control o interfaz de baja potencia en equipos de asistencia sanitaria, de oficina o de medición, el RTK7EKA2A1S00001BU (EK-RA2A1) sería una buena combinación (Figura 3). Este tiene un procesador Arm Cortex-M23 de baja potencia y 48 megahertz (MHz) de la serieRA2A1 soportado por 256 kilobytes (Kbytes) de flash y 32 Kbytes de RAM. La placa de desarrollo también está casi desnuda, excepto por unos pocos conectores de expansión, que son perfectos para la interfaz de sensores o actuadores externos. Incluye un depurador integardo, un pulsador, un potenciómetro y un botón táctil capacitivo.
Figura 3: El EK-RA2A1 contiene una amplia gama de conectores de expansión, lo que lo hace perfecto para aplicaciones de control y para la interfaz de sensores externos. (Fuente de la imagen: Renesas)
Para una aplicación más avanzada como una IoT, industrial, electrodoméstico o producto de medición, un desarrollador puede parecer ligeramente superior a la placa de desarrollo EK-RA4M1 (RTK7EKA4M1S00001BU). El EK-RA4M1 está alimentado por un procesador Arm Cortex-M4 RA4M1, que también funciona a 48 MHz, y que también tiene un soporte de 256 Kbytes de flash y 32 Kbytes de RAM. Esta placa también está diseñada para aplicaciones de baja potencia.
Para las aplicaciones que requieren un mayor rendimiento, una pantalla LCD, conectividad a Internet, seguridad avanzada y otras características de alto nivel, los desarrolladores pueden mirar la placa de desarrollo RTK7EKA6M2S00001BU (EK-A6M2) o la placa de desarrollo RTK7EKA6M3S00001BU (EK-A6M3). El EK-A6M2 se basa en el RA6M2, un procesador Arm Cortex-M4 que funciona a 120 MHz y es compatible con hasta 1024 Kbytes de flash y 384 Kbytes de RAM.
La placa de desarrollo EK-A6M2 de nuevo solo proporciona las características básicas como los encabezados, el potenciómetro y el botón. Esta es una gran placa de bajo costo que permite a un desarrollador entrar y comenzar a utilizar el entorno de desarrollo, el software y comprender el hardware.
La placa de desarrollo EK-A6M3 es más divertida para jugar (Figura 4). Esta placa se basa en un procesador Arm Cortex-M4 RA6M3, que también funciona a 120 MHz, pero que soporta hasta 2048 Kbytes de flash y 640 Kbytes de RAM.
Figura 4: La tarjeta de desarrollo EK-A6M3 para el procesador RA6M3 tiene 32 Mbytes de flash QSPI externo para datos de aplicaciones gráficas para soportar una tarjeta de expansión de gráficos para trabajar con un acelerador de gráficos y características táctiles. (Fuente de la imagen: Renesas)
El EK-A6M3 viene con una tarjeta de expansión gráfica que permite al desarrollador trabajar con el acelerador de gráficos y las características táctiles. La placa viene con un conector Ethernet, expansiones de PMOD y conectores de microbús. La placa de desarrollo también viene con 32 megabytes (Mbytes) de flash QSPI externo para datos de aplicaciones gráficas. Los desarrolladores encontrarán que también tienen acceso a una pantalla LCD TFT en color con una resolución de 480 x 272 con una superposición táctil capacitiva.
Escribir una primera solicitud con el FSP
Hay varios pasos que un desarrollador tendrá que seguir para comenzar con su primera aplicación FSP.
- Seleccione una de las placas de desarrollo de la última sección que mejor se adapte a una necesidad de aplicación.
- Descargue e instale el e2 Studio IDE. e2 Studio permite a un desarrollador crear proyectos, manejar componentes de software y escribir el código de su aplicación. Los desarrolladores también pueden llevar a cabo sesiones de depuración e interactuar con su placa de desarrollo.
- Descargue e instale el FSP.
Una vez que se han seguido estos pasos, un desarrollador puede abrir e2 Studio y crear un nuevo proyecto siguiendo los siguientes pasos:
- File -> New -> RA C/C++ Project.
- Seleccione Proyecto ejecutable Renesas RA C y luego siguiente (Figura 5).
Figura 5: Se crea un proyecto FSP aprovechando la plantilla del Proyecto ejecutable de Renesas RA C. (Fuente de la imagen: Beningo Embedded Group) - Un desarrollador entonces proporciona el nombre de su proyecto y selecciona parámetros importantes del proyecto como (Figura 6):
- La versión del FSP que se utilizará
- El modelo de la placa de desarrollo
- El dispositivo de microcontrolador
- El RTOS que se usará (si es que se usará alguno)
Figura 6: Los desarrolladores seleccionan los parámetros importantes del dispositivo y el software cuando crean su proyecto. (Fuente de la imagen: Beningo Embedded Group)
Una vez creado el proyecto, los desarrolladores pueden utilizar el IDE para desarrollar su código de aplicación y utilizar la herramienta de configuración de e2 Studio Stacks para configurar los controladores integrados, los marcos de trabajo y el software de código abierto dentro de su proyecto.
Consejos y trucos para trabajar con software de código abierto
Aprovechar el software de código abierto se ha convertido en algo crítico para permitir a los equipos de desarrollo acelerar el desarrollo y mantener los costos bajo control. Para aprovechar con éxito el software de código abierto, hay varios "consejos y trucos" que los equipos deben tener en cuenta, tales como:
- Seleccione un software que tenga una comunidad activa, no un ejemplo único de GitHub o un servicio similar.
- Realizar una auditoría de software y un análisis de calidad de la base de código de software de código abierto.
- Haga que un abogado revise la licencia del software para asegurarse de que se entiende correctamente.
- Usar una capa de abstracción para eliminar las dependencias. Esto permitirá que ese paquete de software sea fácilmente removido más tarde si es necesario.
- Aprovechar el software integrado cuando sea posible para minimizar los problemas.
Los desarrolladores que sigan estos "consejos y trucos" se darán cuenta de que se ahorran bastante tiempo y dolor al trabajar para asegurar su dispositivo IoT.
Conclusión:
Con el aumento de la complejidad de los sistemas incorporados, el software de código abierto ayuda a los equipos de desarrollo a gestionar mejor los plazos y los presupuestos. Sin embargo, los equipos necesitan seleccionar cuidadosamente el software de código abierto que utilizan. Hay muchas opciones de software de código abierto sin soporte en la web que pueden causar problemas interminables de integración y mantenimiento.
Como se muestra en este artículo, plataformas como la serie de microcontroladores RA de Renesas, han eliminado el trabajo pesado de la ecuación y han proporcionado a los equipos una base sólida a partir de la cual pueden empezar a desarrollar sus propias aplicaciones, preservando tanto los horarios como los presupuestos.
Referencias
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.





