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

Foi lançado o RT-Thread 5.0, um sistema operacional de tempo real (RTOS) para dispositivos de Internet das Coisas. O sistema está em desenvolvimento desde 2006 pela comunidade de desenvolvedores chineses e atualmente está portado para quase 200 placas, chips e microcontroladores baseados nas arquiteturas x86, ARM, MIPS, C-SKY, Xtensa, ARC e RISC-V. A versão minimalista do RT-Thread (Nano) requer apenas 3 KB de Flash e 1,2 KB de RAM para funcionar. Para dispositivos IoT com recursos mais abundantes, uma versão completa é oferecida, suportando gerenciamento de pacotes, configuradores, pilha de rede, pacotes com implementação de interface gráfica, sistemas de controle de voz, SGBD, 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.

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).
    • 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.
    Sistema operacional em tempo real RT-Thread 5.0 disponível
  • Existência de uma interface de console Env, facilitando a criação de projetos e a configuração do ambiente.
    Sistema operacional em tempo real RT-Thread 5.0 disponível

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).

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

Dentre as novas funcionalidades adicionadas na versão 5.0, destaca-se a significativa melhoria no suporte a sistemas multicore e multithread (por exemplo, a pilha de rede e os sistemas de arquivos foram adaptados para funcionar em modo multithread, e o escalonador foi dividido em variantes para sistemas de núcleo único e SMP). Foi adicionada a implementação de TLS (Thread Local Storage). O suporte para chips Cortex-A foi aprimorado. O suporte para sistemas de 64 bits foi significativamente melhorado (a pilha TCP/IP e os sistemas de arquivos foram verificados para sistemas de 64 bits). Componentes de controle de memória Flash foram integrados. As ferramentas para criação de drivers foram reformuladas.

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