Está disponible el sistema operativo en tiempo real RT-Thread 5.3

Se ha publicado la versión 5.3 de RT-Thread, un sistema operativo de tiempo real (RTOS) para dispositivos de Internet de las cosas. El sistema ha estado en desarrollo desde 2006 por una comunidad de desarrolladores chinos y actualmente está portado para 155 placas, chips y microcontroladores basados en arquitecturas x86, ARM, MIPS, C-SKY, Xtensa, ARC y RISC-V. La construcción minimalista de RT-Thread (Nano) requiere solo 3 KB de Flash y 1.2 KB de RAM para funcionar. Para dispositivos IoT que no están severamente limitados en recursos, se ofrece una versión completa que soporta gestión de paquetes, configuradores, pila de red, paquetes con implementación de interfaz gráfica, sistemas de control por voz, bases de datos, servicios de red y motores para la ejecución de scripts. El código está escrito en lenguaje C y se distribuye bajo la licencia Apache 2.0.

El sistema operativo se compone de tres capas básicas:

  • El núcleo, que proporciona la ejecución de tareas en tiempo real. El núcleo ofrece primitivas básicas universales que abarcan áreas como gestión de bloqueos y sincronización de datos, planificación de tareas, gestión de hilos, manejo de señales, colas de mensajes, gestión de temporizadores, gestión de memoria. Las características específicas del hardware se implementan a nivel de libcpu y BSP, que incluyen los controladores necesarios y el código para el soporte de la CPU.
  • Componentes y servicios que trabajan sobre el núcleo y ofrecen abstracciones como un sistema de archivos virtual, un sistema de manejo de excepciones, almacenamiento en formato clave/valor, interfaz de línea de comandos FinSH, pila de red (LwIP) y marcos de red, bibliotecas para el soporte de dispositivos, subsistema de audio, pila inalámbrica, componentes para soporte de Wi-Fi, LoRa, Bluetooth, 2G/4G. La arquitectura modular permite conectar componentes y servicios según las necesidades y los recursos de hardware disponibles.
  • Paquetes de software. Los componentes de software de propósito general y las bibliotecas de funciones se distribuyen e instalan en forma de paquetes. Actualmente, el repositorio incluye más de 450 paquetes que ofrecen desde interfaces gráficas, aplicaciones multimedia y aplicaciones de red hasta sistemas de control robotizado y manejadores basados en aprendizaje automático. Los paquetes también incluyen motores para la ejecución de programas en lenguajes como Lua, JerryScript, MicroPython, PikaScript y Rust (rtt_rust).

Características de la plataforma:

  • Soporte de arquitecturas:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (se admiten microcontroladores de fabricantes como ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevice, Nordic, Nuvoton, NXP).
    • ARM Cortex-R4.
    • ARM 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, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Arquitectura modular ampliable que 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 diversas interfaces estándar para el desarrollo de software, como POSIX, CMSIS y API de C++. Se desarrolla por separado una capa RTduino para la compatibilidad con las API y bibliotecas del proyecto Arduino.
  • Capacidad de expansión a través del sistema de paquetes y componentes conectables.
  • Soporte para el desarrollo de aplicaciones para el procesamiento de información de alto rendimiento.
  • Sistema de gestión de energía flexible que permite poner automáticamente el dispositivo en modo de suspensión y gestionar dinámicamente el voltaje y la frecuencia en función de la carga.
  • Soporte de hardware para cifrado y descifrado, proporcionando bibliotecas con diversos algoritmos criptográficos.
  • Interfaz unificada para el acceso a dispositivos periféricos y hardware adicional.
  • FS virtual y controladores disponibles para FS 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.
  • Sistema de entrega e instalación remota de actualizaciones que admite cifrado y verificación con firma digital, reanudación de instalaciones interrumpidas, recuperación ante fallos, reversión de cambios, etc.
  • Sistema de módulos de núcleo cargados dinámicamente, que permite compilar y desarrollar componentes del núcleo por separado, y cargarlos de forma dinámica cuando sea necesario.
  • Soporte para varios paquetes de terceros, como Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • Capacidad de compilar directamente el paquete BSP (Paquete de Soporte de Placa) con componentes para soportar una plataforma de hardware específica y cargarlo en la placa.
  • Disponibilidad de un emulador (BSP qemu-vexpress-a9) que permite desarrollar aplicaciones sin el uso de placas reales.
  • Soporte para compiladores y herramientas de desarrollo estándar, como GCC, MDK Keil e IAR.
  • Desarrollo de un entorno de desarrollo integrado RT-Thread Studio IDE, que permite crear y depurar aplicaciones, cargarlas en las placas y gestionar configuraciones. También hay disponibles complementos para el desarrollo de programas para RT-Thread en Eclipse y VS Code.
  • Disponibilidad de una interfaz de consola Env, que facilita la creación de proyectos y la configuración del entorno.

Entre los cambios en la nueva versión:

  • Se ha ampliado el soporte para el desarrollo de componentes en el lenguaje Rust. Se han añadido enlaces de Rust para hilos, mutexes, semáforos, colas de mensajes, así como para operaciones con memoria, tiempo y archivos. Se han implementado componentes para la integración con SCons y Cargo. Se ha asegurado la detección automática de plataformas objetivo ARM, AArch64 y RISC-V. Se han añadido macros de procedimiento para la inicialización y registro de comandos.
  • Para los microcontroladores Cortex-M, se ha incluido el soporte para el estándar Open Firmware con descripción de periféricos a través de Device Tree.
  • Se ha añadido soporte para VirtIO 1.2 con la posibilidad de usar colas de paquetes, transportes MMIO/PCI y sincronización DMA. Se han añadido controladores VirtIO 9P, crypto, RNG, SCMI y SCSI. Se han actualizado los controladores VirtIO para red, dispositivos de bloque, consola, dispositivos de entrada y GPU.
  • Se ha añadido un marco DVFS (Dynamic Voltage and Frequency Scaling) para la gestión dinámica de la frecuencia de CPU y dispositivos. Se ha asegurado la integración con el firmware ARM SCMI para la gestión del consumo de energía. Se ha mejorado la gestión de los ventiladores.
  • Se ha añadido soporte para entornos TEE (Trusted Execution Environment) y el mecanismo de mensajería RPMSG (Remote Processor Messaging).
  • Se ha implementado soporte para sockets Unix.
  • Se ha añadido soporte para mecanismos de seguridad en redes inalámbricas WPA3, EA (Autenticación Empresarial), WAPI, OWE y DPP.
  • Se ha añadido soporte para el protocolo de sincronización de tiempo PTP (Precision Time Protocol).
  • Se ha añadido el marco de trabajo Clock Time para trabajar con el tiempo, que soporta temporizadores de alta precisión y sincronización horaria a través de múltiples fuentes. Este nuevo marco reemplaza a los componentes utilizados anteriormente, ktime, cputime y hwtimer.
  • Se ha implementado el sistema de archivos 9PFS, que se utiliza para compartir archivos entre el entorno host y las máquinas virtuales.
  • En la implementación de procesos livianos lwP (Lightweight Process) se ha agregado soporte para la arquitectura ARM y se incluye el mecanismo vDSO (virtual dynamic shared object), que permite trasladar manejadores desde el núcleo al espacio del usuario y evitar cambios de contexto.
  • En el núcleo se ha implementado soporte para operaciones atómicas de 8 y 16 bits.
  • Se ha añadido soporte para multiprocesadores simétricos (SMP) para los procesadores RISC-V de la serie XuanTie C/R y el emulador QEMU virt64.
  • Se ha actualizado la pila USB CherryUSB 1.6.1.
  • Se han añadido nuevos controladores DM (Device Manager) para UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks y pantallas táctiles.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster