Sistema operacional em tempo real RT-Thread 5.3 disponível

Foi lançado o RT-Thread 5.3, um sistema operacional em tempo real (RTOS) para dispositivos de Internet das Coisas. O sistema tem sido desenvolvido desde 2006 por uma comunidade de desenvolvedores chineses e atualmente está portado para 155 plataformas, chips e microcontroladores com base nas arquiteturas x86, ARM, MIPS, C-SKY, Xtensa, ARC e RISC-V. A versão minimizada do RT-Thread (Nano) requer apenas 3 KB de Flash e 1,2 KB de RAM para funcionar. Para dispositivos IoT que não têm restrições severas de recursos, uma versão totalmente funcional é oferecida, suportando gerenciamento de pacotes, configuradores, pilha de rede, pacotes com implementação de interface gráfica, sistemas de controle por voz, SGBDs, serviços de rede e motores para execução de scripts. O código é escrito em C e distribuído sob a licença Apache 2.0.

O sistema operacional é composto por três camadas básicas:

  • O núcleo, que garante a execução de tarefas em tempo real. O núcleo fornece primitivas básicas universais que cobrem áreas como gerenciamento de bloqueios e sincronização de dados, escalonamento de tarefas, gerenciamento de threads, tratamento de sinais, filas de mensagens, gerenciamento de temporizadores e gerenciamento de memória. Especificidades de hardware são implementadas nos níveis libcpu e BSP, que incluem os drivers e códigos necessários para suporte ao CPU.
  • Componentes e serviços que operam sobre o núcleo e oferecem abstrações, como sistema de arquivos virtual, sistema de tratamento de exceções, armazenamento no formato chave/valor, interface de linha de comando FinSH, pilha de rede (LwIP) e estruturas de rede, bibliotecas para suporte a dispositivos, subsistema de áudio, pilha sem fio, componentes para suporte a Wi-Fi, LoRa, Bluetooth, 2G/4G. A arquitetura modular permite conectar componentes e serviços de acordo com as necessidades e recursos de hardware disponíveis.
  • Pacotes de software. Componentes de software de uso geral e bibliotecas de funções são distribuídos e instalados na forma de pacotes. Atualmente, o repositório inclui mais de 450 pacotes que oferecem desde interfaces gráficas, aplicativos multimídia e aplicativos de rede até sistemas de controle de robôs e manipuladores baseados em aprendizado de máquina. Os pacotes também incluem mecanismos para organizar a execução de programas nas linguagens Lua, JerryScript, MicroPython, PikaScript e Rust (rtt_rust).

Características da plataforma:

  • Suporte a arquiteturas:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (suporte a 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, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Arquitetura modular expansível, permitindo a criação de um ambiente adequado para sistemas com recursos limitados (requisitos mínimos — 3 KB de Flash e 1,2 KB de RAM).
  • Suporte a várias interfaces padrão para desenvolvimento de software, como POSIX, CMSIS, API C++. Uma camada RTduino está sendo desenvolvida separadamente para compatibilidade com APIs e bibliotecas do projeto Arduino.
  • Capacidade de extensão através do sistema de pacotes e componentes plug-in.
  • Suporte para desenvolvimento de aplicações para processamento de informações de alto desempenho.
  • Sistema de gerenciamento de energia flexível, permitindo que o dispositivo entre automaticamente em modo de suspensão e gerencie dinamicamente a voltagem e a frequência com base na carga.
  • Suporte a hardware para criptografia e decriptação, fornecendo bibliotecas com vários algoritmos criptográficos.
  • Interface unificada para acessar dispositivos periféricos e equipamentos adicionais.
  • FS virtual e presença de drivers para sistemas de arquivos como FAT, UFFS, NFSv3, ROMFS e RAMFS.
  • Pilha de protocolos para TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M etc.
  • Sistema de entrega e instalação remota de atualizações, suportando criptografia e verificação por assinatura digital, reinício de instalação interrompida, recuperação de falhas, reversão de alterações etc.
  • Um sistema de módulos do núcleo carregados dinamicamente, que permite compilar e desenvolver componentes do núcleo separadamente e carregá-los dinamicamente conforme necessário.
  • Suporte a vários pacotes de terceiros, como Yaffs2, SQLite, FreeModbus, Canopen, entre outros.
  • Possibilidade de compilação direta do pacote BSP (Board Support Package) com componentes para suporte a uma plataforma de hardware específica e seu carregamento na placa.
  • Disponibilidade de um emulador (BSP qemu-vexpress-a9), permitindo o desenvolvimento de aplicativos sem utilizar placas reais.
  • Suporte a compiladores padrão e ferramentas de desenvolvimento, como GCC, MDK Keil e IAR.
  • Desenvolvimento do ambiente integrado de desenvolvimento RT-Thread Studio IDE, permitindo criar e depurar aplicativos, carregá-los em placas e gerenciar configurações. Plugins para desenvolvimento de programas para RT-Thread também estão disponíveis para Eclipse e VS Code.
  • Existência de uma interface de console Env, facilitando a criação de projetos e a configuração do ambiente.

Entre as mudanças na nova versão:

  • Apoio ampliado para desenvolvimento de componentes na linguagem Rust. Adicionadas ligações Rust para threads, mutexes, semáforos, filas de mensagens, bem como operações de memória, tempo e arquivos. Componentes implementados para integração com SCons e Cargo. Determinação automática das plataformas-alvo ARM, AArch64 e RISC-V. Adicionados macros de procedimento para inicialização e registro de comandos.
  • Para microcontroladores Cortex-M, o suporte ao padrão Open Firmware foi incluído com a descrição da periferia através do Device Tree.
  • Adicionado suporte ao VirtIO 1.2 com a capacidade de usar filas de pacotes, transportes MMIO/PCI e sincronização DMA. Adicionados drivers VirtIO 9P, crypto, RNG, SCMI e SCSI. Drivers VirtIO para rede, dispositivos de bloco, console, dispositivos de entrada e GPU foram atualizados.
  • Adicionado um framework DVFS (Dynamic Voltage and Frequency Scaling) para gerenciamento dinâmico da frequência do CPU e dispositivos. Integração com o firmware ARM SCMI para gerenciamento de energia. Melhoria na gestão de coolers.
  • Adicionado suporte a ambientes TEE (Trusted Execution Environment) e ao mecanismo de troca de mensagens RPMSG (Remote Processor Messaging).
  • Implementado suporte a sockets Unix.
  • Adicionado suporte a mecanismos de proteção de redes sem fio WPA3, EA (Enterprise Authentication), WAPI, OWE e DPP.
  • Adicionado suporte ao protocolo de sincronização de tempo PTP (Precision Time Protocol).
  • Foi adicionado o framework Clock Time para trabalhar com tempo, suportando temporizadores de alta precisão e sincronização de tempo entre várias fontes. O novo framework substituiu os componentes anteriormente utilizados ktime, cputime e hwtimer.
  • Foi implementado o sistema de arquivos 9PFS, utilizado para a troca de arquivos entre o ambiente host e as máquinas virtuais.
  • Na implementação de processos leves lwP (Lightweight Process), foi adicionado suporte à arquitetura ARM e o mecanismo vDSO (virtual dynamic shared object), que permite mover manipuladores do kernel para o espaço do usuário e evitar mudanças de contexto.
  • O suporte a operações atômicas de 8 e 16 bits foi implementado no kernel.
  • Foi adicionado suporte à multiprocessamento simétrico (SMP) para processadores RISC-V da série XuanTie C/R e para o emulador QEMU virt64.
  • A pilha USB CherryUSB 1.6.1 foi atualizada.
  • Novos drivers DM (Device Manager) foram adicionados para UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks e telas sensíveis ao toque.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster