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

O RT-Thread 5.0, o sistema operacional em tempo real (RTOS) para dispositivos IoT, foi lançado. O sistema foi desenvolvido desde 2006 por uma comunidade de desenvolvedores chineses e atualmente é 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 que não são fortemente limitados em recursos, é oferecida uma versão completa que suporta gerenciamento de pacotes, configuradores, pilha de rede, pacotes com a implementação de uma interface gráfica, sistema de controle de voz, DBMS, serviços de rede e mecanismos para execução scripts. O código é escrito em C e distribuído sob a licença Apache 2.0.

Recursos da plataforma:

  • Suporte de arquitetura:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (microcontroladores de fabricantes como ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP são suportados).
    • ARM Cortex-R4.
    • BRAÇO Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fulhan).
    • MIPS32 (Loongson, Ingênico).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Núcleos, T-Head).
    • ARC (SINOPSE)
    • DSP (TI).
    • c-céu.
    • x86.
  • Arquitetura modular extensível que permite criar um ambiente adequado para sistemas com recursos limitados (requisitos mínimos - 3 KB Flash e 1.2 KB RAM).
  • Suporte para várias interfaces padrão para desenvolvimento de programas, como POSIX, CMSIS, C++ API. Separadamente, a camada RTduino está sendo desenvolvida para compatibilidade com a API e bibliotecas do projeto Arduino.
  • Expansível através de um sistema de pacotes e plug-ins.
  • Apoio ao desenvolvimento de uma aplicação para processamento de informação de alto desempenho.
  • Um sistema flexível de gerenciamento de energia que coloca automaticamente o dispositivo no modo de hibernação e gerencia dinamicamente a tensão e a frequência dependendo da carga.
  • Suporte de hardware para criptografia e descriptografia, fornecendo bibliotecas com vários algoritmos criptográficos.
  • Interface unificada para acesso a dispositivos periféricos e equipamentos adicionais.
  • Virtual FS e disponibilidade de drivers para FS 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.
  • Um sistema para entrega remota e instalação de atualizações que suporta criptografia e verificação por assinatura digital, retomando uma instalação interrompida, recuperando-se de uma falha, revertendo alterações, etc.
  • Um sistema de módulos de kernel dinamicamente carregáveis ​​que permite construir e desenvolver componentes de kernel separadamente e carregá-los dinamicamente quando necessário.
  • Suporte para vários pacotes de terceiros, como Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • A capacidade de compilar diretamente um pacote BSP (Board Support Package) com componentes para suportar uma plataforma de hardware específica e carregá-lo na placa.
  • A presença de um emulador (BSP qemu-vexpress-a9), que permite desenvolver aplicativos sem o uso de placas reais.
  • Suporte para compiladores comuns e ferramentas de desenvolvimento como GCC, MDK Keil e IAR.
  • Desenvolvimento de nosso próprio ambiente de desenvolvimento integrado RT-Thread Studio IDE, que permite criar e depurar aplicativos, carregá-los em placas e gerenciar configurações. Plugins de desenvolvimento RT-Thread também estão disponíveis para Eclipse e VS Code.
    Sistema operacional RT-Thread 5.0 em tempo real disponível
  • A presença da interface do console Env, que simplifica a criação de projetos e a configuração do ambiente.
    Sistema operacional RT-Thread 5.0 em tempo real disponível

O sistema operacional consiste em três camadas básicas:

  • Um kernel que executa tarefas em tempo real. O kernel fornece primitivas básicas genéricas que cobrem áreas como gerenciamento de bloqueio e sincronização de dados, agendamento de tarefas, gerenciamento de threads, manipulação de sinais, enfileiramento de mensagens, gerenciamento de timer, gerenciamento de memória. Recursos específicos de hardware são implementados no nível libcpu e BSP, que incluem os drivers e códigos necessários para suportar a CPU.
  • Componentes e serviços executados sobre o kernel e oferecem abstrações como sistema de arquivos virtual, sistema de tratamento de exceções, armazenamento de chave/valor, interface de linha de comando FinSH, pilha de rede (LwIP) e estruturas de rede, bibliotecas para suporte a dispositivos, subsistema de som, pilha sem fio, componentes para suportar Wi-Fi, LoRa, Bluetooth, 2G/4G. A arquitetura modular permite conectar componentes e serviços dependendo de suas tarefas 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, desde GUIs, aplicativos multimídia e de rede até sistemas de controle de robôs e processadores de aprendizado de máquina. Os pacotes também fornecem engines para organizar a execução de programas em Lua, JerryScript, MicroPython, PikaScript e Rust (rtt_rust).

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

Dos novos recursos adicionados na versão 5.0, pode-se notar uma melhoria significativa no suporte para sistemas multi-core e multi-thread (por exemplo, a pilha de rede e os sistemas de arquivos são adaptados para funcionar no modo multi-threaded, o agendador é dividido em opções para sistemas single-core e SMP). Implementação adicionada de TLS (Thread Local Storage). Suporte aprimorado para chips Cortex-A. Suporte significativamente aprimorado para sistemas de 64 bits (pilha TCP/IP e sistemas de arquivos verificados para sistemas de 64 bits). Componentes integrados de gerenciamento de memória Flash. As ferramentas para criar drivers foram redesenhadas.

Fonte: opennet.ru

Adicionar um comentário