RT-Thread, um sistema operacional em tempo real para dispositivos IoT

RT-Thread

RT-Thread é um sistema operacional em tempo real (RTOS) de código aberto, neutro e baseado na comunidade.

Tornou-se conhecido recentemente o lançamento da nova versão do sistema operacional «RT-Thread 5.0», que está posicionado como um sistema operacional em tempo real (RTOS) para dispositivos IoT.

O sistema foi desenvolvido desde 2006 por uma comunidade de desenvolvedores chineses e atualmente é portado para cerca de 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 severamente limitados em recursos, é oferecida uma versão completa que suporta gerenciamento de pacotes, configuradores, pilha de rede, pacotes com implementação de uma interface gráfica, sistema de controle de voz, DBMS, serviços de rede e mecanismos para executar scripts.

Recursos de Rosca RT

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

  1. Um kernel que executa tarefas em tempo real. O kernel fornece primitivas básicas genéricas que abrangem áreas como bloqueio e gerenciamento de sincronização de dados, agendamento de tarefas, gerenciamento de threads, gerenciamento de sinais, enfileiramento de mensagens, gerenciamento de timer e gerenciamento de memória. Os recursos específicos de hardware são implementados no nível libcpu e BSP, que incluem os drivers e o código necessários para suportar a CPU.
  2. Componentes e serviços executados sobre o kernel e oferecem abstrações como sistema de arquivo virtual, sistema de tratamento de exceção, 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 compatíveis com Wi-Fi, LoRa, Bluetooth, 2G/4G. A arquitetura modular permite conectar componentes e serviços com base em suas tarefas e recursos de hardware disponíveis.
  3. Pacotes de programas. 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 aplicativos de rede até sistemas de controle de robôs e processadores de aprendizado de máquina.

RT-Thread apresenta uma arquitetura modular extensível que permite criar um ambiente adequado para sistemas com recursos limitados (requisitos mínimos: 3 KB de Flash e 1,2 KB de RAM), além de também ter compatibilidade com diversas interfaces padrão para desenvolvimento de programas, como POSIX, CMSIS, C++ API. Separadamente, a camada RTduino está sendo desenvolvida para ser compatível com a API e as bibliotecas do projeto Arduino.

Outra característica que se destaca é a sistema de gerenciamento de energia flexível que coloca automaticamente o dispositivo no modo de hibernação e gerencia dinamicamente a tensão e a frequência, dependendo da carga.

Ele também tem o suporte de hardware para criptografia e descriptografia, fornecendo bibliotecas com vários algoritmos criptográficos.

Além disso, também possui um sistema de envio e instalação remota de atualizações que suporta criptografia e verificação por meio de assinatura digital, retomada de instalação interrompida, recuperação de falha, reversão de alterações, etc.

Bem como um sistema de módulos de kernel dinamicamente carregáveis ​​que permite criar e desenvolver componentes de kernel separadamente e carregá-los dinamicamente quando necessário.

Das outras características que se destacam:

  • Suporte para vários pacotes de terceiros como Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • Suporte para compiladores comuns e ferramentas de desenvolvimento, como GCC, MDK Keil e IAR.
  • Desenvolvimento de um ambiente de desenvolvimento integrado RT-Thread Studio IDE, que permite construir e depurar aplicações, carregá-las em dashboards e gerenciar configurações. Plugins de desenvolvimento RT-Thread também estão disponíveis para Eclipse e VS Code.
  • A presença da interface do console Env, que simplifica a criação de projetos e a configuração do ambiente.
  • A capacidade de compilar diretamente um pacote BSP
  • Expansível através de um sistema de pacotes e plugins.
  • Interface unificada para acesso a dispositivos periféricos e equipamentos adicionais.
  • Apoio ao desenvolvimento de uma aplicação para processamento de informação de alto desempenho.
  • Virtual FS e disponibilidade de driver para FS

Sobre o RT-Thread 5.0

Em relação às novas funções adicionadas na versão 5.0, pode-se notar uma Melhoria significativa no suporte para sistemas multicore e multithread (Por exemplo, a pilha de rede e os sistemas de arquivos são adaptados para funcionar no modo multithread.

Outra novidade é o agendador é dividido em opções para sistemas single-core e SMP, bem como a implementação adicional de TLS (Thread Local Storage).

Além disso, também destaca o suporte aprimorado para chips Cortex-A, compatibilidade significativamente aprimorada para sistemas de 64 bits (sistemas de arquivos verificados e pilhas TCP/IP para sistemas de 64 bits) e componentes integrados de gerenciamento de memória Flash, bem como que as ferramentas para criar controladores foram redesenhadas.

Os interessados ​​neste sistema devem saber que o código é escrito em linguagem C e distribuído sob a licença Apache 2.0.

Você pode conferir mais detalhes em o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.