Sistema operativo en tempo real RT-Thread 5.0 dispoñible

RT-Thread 5.0, o sistema operativo en tempo real (RTOS) para dispositivos IoT, foi lanzado. O sistema foi desenvolvido desde 2006 por unha comunidade de desenvolvedores chineses e actualmente está portado a case 200 placas, chips e microcontroladores baseados en arquitecturas x86, ARM, MIPS, C-SKY, Xtensa, ARC e RISC-V. A versión minimalista de RT-Thread (Nano) require só 3 KB de Flash e 1.2 KB de RAM para funcionar. Para os dispositivos IoT que non están moi limitados en recursos, ofrécese unha versión completa que admite xestión de paquetes, configuradores, pila de rede, paquetes coa implementación dunha interface gráfica, sistema de control de voz, DBMS, servizos de rede e motores de execución. guións. O código está escrito en C e distribúese baixo a licenza Apache 2.0.

Características da plataforma:

  • Soporte arquitectónico:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (son compatibles con microcontroladores de fabricantes como ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, 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).
    • ARC (SINOPSIA)
    • DSP (TI).
    • c-ceo.
    • x86.
  • Arquitectura modular extensible que permite crear un ambiente axeitado para sistemas con recursos limitados (requisitos mínimos: 3 KB de Flash e 1.2 KB de RAM).
  • Soporte para varias interfaces estándar para o desenvolvemento de programas, como POSIX, CMSIS, API C++. Por separado, a capa RTduino estase a desenvolver para a compatibilidade coa API e as bibliotecas do proxecto Arduino.
  • Ampliable mediante un sistema de paquetes e complementos.
  • Apoio ao desenvolvemento dunha aplicación para o tratamento da información de alto rendemento.
  • Un sistema flexible de xestión de enerxía que pon automaticamente o dispositivo en modo de suspensión e xestiona de forma dinámica a tensión e a frecuencia dependendo da carga.
  • Soporte de hardware para cifrado e descifrado, proporcionando ás bibliotecas varios algoritmos criptográficos.
  • Interface unificada para o acceso a dispositivos periféricos e equipos adicionais.
  • FS virtual e dispoñibilidade de controladores para FS como FAT, UFFS, NFSv3, ROMFS e RAMFS.
  • Pila de protocolos para TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Un sistema para a entrega e instalación remotas de actualizacións que admite o cifrado e a verificación mediante sinatura dixital, retomar unha instalación interrompida, recuperarse dun fallo, retrotraer os cambios, etc.
  • Un sistema de módulos do núcleo cargables dinámicamente que lle permite construír e desenvolver compoñentes do núcleo por separado e cargalos dinámicamente cando sexa necesario.
  • Soporte para varios paquetes de terceiros como Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • A capacidade de compilar directamente un paquete BSP (Board Support Package) con compoñentes para soportar unha plataforma de hardware específica e cargalo no taboleiro.
  • A presenza dun emulador (BSP qemu-vexpress-a9), que permite desenvolver aplicacións sen usar placas reais.
  • Compatibilidade con compiladores comúns e ferramentas de desenvolvemento como GCC, MDK Keil e IAR.
  • Desenvolvemento do noso propio entorno de desenvolvemento integrado RT-Thread Studio IDE, que che permite crear e depurar aplicacións, cargalas en taboleiros e xestionar a configuración. Os complementos de desenvolvemento de RT-Thread tamén están dispoñibles para Eclipse e VS Code.
    Sistema operativo en tempo real RT-Thread 5.0 dispoñible
  • A presenza da interface da consola Env, que simplifica a creación de proxectos e a configuración do entorno.
    Sistema operativo en tempo real RT-Thread 5.0 dispoñible

O sistema operativo consta de tres capas básicas:

  • Un núcleo que realiza tarefas en tempo real. O núcleo ofrece primitivas básicas xenéricas que abarcan áreas como a xestión de bloqueos e sincronización de datos, a programación de tarefas, a xestión de fíos, o manexo de sinais, a posta en fila de mensaxes, a xestión do temporizador e a xestión da memoria. As funcións específicas do hardware están implementadas a nivel libcpu e BSP, que inclúen os controladores e o código necesarios para soportar a CPU.
  • Compoñentes e servizos que se executan enriba do núcleo e ofrecen abstraccións como sistema de ficheiros virtual, sistema de manexo de excepcións, almacenamento de clave/valor, interface de liña de comandos FinSH, pila de rede (LwIP) e marcos de rede, bibliotecas para soporte de dispositivos, subsistema de son, pila sen fíos, compoñentes compatibles con Wi-Fi, LoRa, Bluetooth, 2G/4G. A arquitectura modular permítelle conectar compoñentes e servizos dependendo das súas tarefas e dos recursos de hardware dispoñibles.
  • Paquetes de software. Os compoñentes de software de propósito xeral e as bibliotecas de funcións distribúense e instálanse en forma de paquetes. O repositorio inclúe actualmente máis de 450 paquetes que van desde GUI, aplicacións multimedia e de rede ata sistemas de control de robots e procesadores de aprendizaxe automática. Os paquetes tamén proporcionan motores para organizar a execución de programas en Lua, JerryScript, MicroPython, PikaScript e Rust (rtt_rust).

Sistema operativo en tempo real RT-Thread 5.0 dispoñible

Das novas funcións engadidas na versión 5.0, pódese observar unha mellora significativa na compatibilidade con sistemas multinúcleo e multifíos (por exemplo, a pila de rede e os sistemas de ficheiros están adaptados para traballar en modo multifíos, o planificador está dividido). en opcións para sistemas de núcleo único e SMP). Engadida implementación de TLS (Thread Local Storage). Compatibilidade mellorada para chips Cortex-A. Compatibilidade significativamente mellorada para sistemas de 64 bits (pila TCP/IP e sistemas de ficheiros verificados para sistemas de 64 bits). Compoñentes de xestión de memoria flash integrados. Rediseñáronse as ferramentas para crear controladores.

Fonte: opennet.ru

Engadir un comentario