Sistema operativo en tiempo real RT-Thread 5.0 disponible

Se ha publicado el lanzamiento de RT-Thread 5.0, un sistema operativo en tiempo real (RTOS) para dispositivos de Internet de las cosas. El sistema ha sido desarrollado desde 2006 por una comunidad de desarrolladores chinos y actualmente ha sido portado a casi 200 placas, chips y microcontroladores basados ​​en arquitecturas x86, ARM, MIPS, C-SKY, Xtensa, ARC y RISC-V. La versión minimalista RT-Thread (Nano) requiere sólo 3 KB de Flash y 1.2 KB de RAM para funcionar. Para dispositivos IoT que no tienen recursos muy limitados, se ofrece una versión con todas las funciones que admite administración de paquetes, configuradores, pila de red, paquetes con implementación de interfaz gráfica, sistemas de control por voz, DBMS, servicios de red y motores de ejecución. guiones. El código está escrito en C y distribuido bajo la licencia Apache 2.0.

Características de la plataforma:

  • Soporte de arquitectura:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (se admiten microcontroladores de fabricantes como ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
    • BRAZO Cortex-R4.
    • BRAZO Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head).
    • ARCO (SINOPSIA)
    • DSP (TI).
    • C-Cielo.
    • x86.
  • Arquitectura modular extensible que le permite crear un entorno adecuado para sistemas con recursos limitados (requisitos mínimos: 3 KB de Flash y 1.2 KB de RAM).
  • Soporte para varias interfaces estándar para el desarrollo de programas, como POSIX, CMSIS, C++ API. La capa RTduino se está desarrollando por separado para ser compatible con la API y las bibliotecas del proyecto Arduino.
  • Posibilidad de ampliación mediante sistema de paquetes y componentes plug-in.
  • Soporte al desarrollo de aplicaciones para el procesamiento de información de alto rendimiento.
  • Sistema de administración de energía flexible que le permite poner automáticamente el dispositivo en modo de suspensión y controlar dinámicamente el voltaje y la frecuencia dependiendo de la carga.
  • Soporte de hardware para cifrado y descifrado, provisión de bibliotecas con varios algoritmos criptográficos.
  • Interfaz unificada para acceso a dispositivos periféricos y equipos adicionales.
  • Sistema de archivos virtual y disponibilidad de controladores para sistemas de archivos como FAT, UFFS, NFSv3, ROMFS y RAMFS.
  • Pila de protocolos para TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Un sistema para la entrega e instalación remota de actualizaciones que admite cifrado y verificación mediante firma digital, reanudación de una instalación interrumpida, recuperación de una falla, reversión de cambios, etc.
  • Un sistema de módulos del kernel cargados dinámicamente que le permite construir y desarrollar componentes del kernel por separado y cargarlos dinámicamente cuando sea necesario.
  • Admite varios paquetes de terceros, como Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • La capacidad de compilar directamente un paquete BSP (Board Support Package) con componentes para admitir una plataforma de hardware específica y cargarlo en la placa.
  • Disponibilidad de un emulador (BSP qemu-vexpress-a9), que permite desarrollar aplicaciones sin utilizar placas reales.
  • Soporte para compiladores comunes y herramientas de desarrollo como GCC, MDK Keil e IAR.
  • Desarrollo de nuestro propio entorno de desarrollo integrado RT-Thread Studio IDE, que le permite crear y depurar aplicaciones, cargarlas en placas y administrar configuraciones. Los complementos de desarrollo para RT-Thread también están disponibles para Eclipse y VS Code.
    Sistema operativo en tiempo real RT-Thread 5.0 disponible
  • La presencia de la interfaz de la consola Env, que simplifica la creación de proyectos y la configuración del entorno.
    Sistema operativo en tiempo real RT-Thread 5.0 disponible

El sistema operativo consta de tres capas básicas:

  • Un kernel que permite ejecutar tareas en tiempo real. El kernel proporciona primitivas centrales genéricas que cubren áreas como administración de bloqueos y sincronización de datos, programación de tareas, administración de subprocesos, manejo de señales, colas de mensajes, administración de temporizadores y administración de memoria. Las funciones específicas del hardware se implementan en los niveles libcpu y BSP, que incluyen los controladores y el código necesarios para admitir la CPU.
  • Componentes y servicios que se ejecutan sobre el kernel y ofrecen abstracciones como un sistema de archivos virtual, un sistema de manejo de excepciones, almacenamiento de claves/valores, interfaz de línea de comandos FinSH, pila de redes (LwIP) y marcos de redes, bibliotecas de soporte de dispositivos, subsistema de audio, Pila inalámbrica, componentes compatibles con Wi-Fi, LoRa, Bluetooth, 2G/4G. La arquitectura modular le permite conectar componentes y servicios según sus tareas y los recursos de hardware disponibles.
  • Paquetes de programas. Los componentes de software de uso general y las bibliotecas de funciones se distribuyen e instalan en forma de paquetes. El repositorio incluye actualmente más de 450 paquetes, que ofrecen de todo, desde interfaces gráficas, aplicaciones multimedia y aplicaciones de red hasta sistemas de control de robots y procesadores basados ​​en aprendizaje automático. Los paquetes también proporcionan motores para organizar la ejecución de programas en los lenguajes Lua, JerryScript, MicroPython, PikaScript y Rust (rtt_rust).

Sistema operativo en tiempo real RT-Thread 5.0 disponible

Entre las nuevas características agregadas en la versión 5.0, podemos notar una mejora significativa en el soporte para sistemas multinúcleo y multiproceso (por ejemplo, la pila de red y los sistemas de archivos están adaptados para trabajar en modo multiproceso, el programador está dividido en opciones para sistemas de un solo núcleo y SMP). Se agregó implementación de TLS (Thread Local Storage). Soporte mejorado para chips Cortex-A. Soporte significativamente mejorado para sistemas de 64 bits (la pila TCP/IP y los sistemas de archivos están verificados para sistemas de 64 bits). Los componentes de gestión de memoria flash están integrados. Se ha rediseñado el conjunto de herramientas para crear controladores.

Fuente: opennet.ru

Añadir un comentario