Système d'exploitation en temps réel RT-Thread 5.0 disponible

RT-Thread 5.0, le système d'exploitation en temps réel (RTOS) pour les appareils IoT, a été lancé. Le système a été développé depuis 2006 par une communauté de développeurs chinois et est actuellement porté sur près de 200 cartes, puces et microcontrôleurs basés sur les architectures x86, ARM, MIPS, C-SKY, Xtensa, ARC et RISC-V. La version minimaliste de RT-Thread (Nano) ne nécessite que 3 Ko de Flash et 1.2 Ko de RAM pour fonctionner. Pour les appareils IoT dont les ressources ne sont pas fortement limitées, une version complète est proposée qui prend en charge la gestion des packages, les configurateurs, la pile réseau, les packages avec la mise en œuvre d'une interface graphique, un système de contrôle vocal, un SGBD, des services réseau et des moteurs d'exécution. scripts. Le code est écrit en C et distribué sous la licence Apache 2.0.

Caractéristiques de la plateforme :

  • Prise en charge de l'architecture :
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (les microcontrôleurs de fabricants tels que ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP sont pris en charge).
    • BRAS Cortex-R4.
    • BRAS Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingénique).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • c-ciel.
    • x86.
  • Architecture modulaire extensible qui vous permet de créer un environnement adapté aux systèmes aux ressources limitées (exigences minimales - 3 Ko de Flash et 1.2 Ko de RAM).
  • Prise en charge de diverses interfaces standard pour le développement de programmes, telles que POSIX, CMSIS, API C++. Par ailleurs, la couche RTduino est en cours de développement pour être compatible avec l'API et les bibliothèques du projet Arduino.
  • Extensible grâce à un système de packages et de plug-ins.
  • Accompagnement au développement d'une application de traitement de l'information performante.
  • Un système de gestion de l'alimentation flexible qui met automatiquement l'appareil en mode veille et gère dynamiquement la tension et la fréquence en fonction de la charge.
  • Prise en charge matérielle du cryptage et du déchiffrement, fournissant aux bibliothèques divers algorithmes cryptographiques.
  • Interface unifiée pour l’accès aux périphériques et équipements supplémentaires.
  • Virtual FS et disponibilité de pilotes pour FS tels que FAT, UFFS, NFSv3, ROMFS et RAMFS.
  • Pile de protocoles pour TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Un système de livraison et d'installation à distance de mises à jour prenant en charge le cryptage et la vérification par signature numérique, la reprise d'une installation interrompue, la récupération après une panne, l'annulation des modifications, etc.
  • Un système de modules de noyau chargeables dynamiquement qui vous permet de créer et de développer séparément des composants du noyau, et de les charger dynamiquement si nécessaire.
  • Prise en charge de divers packages tiers tels que Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • La possibilité de compiler directement un package BSP (Board Support Package) avec des composants pour prendre en charge une plate-forme matérielle spécifique et de le télécharger sur la carte.
  • La présence d'un émulateur (BSP qemu-vexpress-a9), qui permet de développer des applications sans utiliser de vraies cartes.
  • Prise en charge des compilateurs et outils de développement courants tels que GCC, MDK Keil et IAR.
  • Développement de notre propre environnement de développement intégré RT-Thread Studio IDE, qui vous permet de créer et de déboguer des applications, de les télécharger sur des cartes et de gérer les paramètres. Des plugins de développement RT-Thread sont également disponibles pour Eclipse et VS Code.
    Système d'exploitation en temps réel RT-Thread 5.0 disponible
  • La présence de l'interface console Env, qui simplifie la création de projets et la mise en place de l'environnement.
    Système d'exploitation en temps réel RT-Thread 5.0 disponible

Le système d'exploitation se compose de trois couches de base :

  • Un noyau qui exécute des tâches en temps réel. Le noyau fournit des primitives de base génériques couvrant des domaines tels que la gestion des verrous et de la synchronisation des données, la planification des tâches, la gestion des threads, la gestion des signaux, la mise en file d'attente des messages, la gestion des minuteries et la gestion de la mémoire. Les fonctionnalités spécifiques au matériel sont implémentées au niveau de la libcpu et du BSP, qui incluent les pilotes et le code nécessaires pour prendre en charge le processeur.
  • Composants et services qui s'exécutent au-dessus du noyau et offrent des abstractions telles qu'un système de fichiers virtuel, un système de gestion des exceptions, un stockage clé/valeur, une interface de ligne de commande FinSH, une pile réseau (LwIP) et des infrastructures réseau, des bibliothèques pour la prise en charge des périphériques, un sous-système audio, pile sans fil, composants pour prendre en charge Wi-Fi, LoRa, Bluetooth, 2G/4G. L'architecture modulaire vous permet de connecter des composants et des services en fonction de vos tâches et des ressources matérielles disponibles.
  • Progiciels. Les composants logiciels à usage général et les bibliothèques de fonctions sont distribués et installés sous forme de packages. Le référentiel comprend actuellement plus de 450 packages allant des interfaces graphiques, des applications multimédias et réseau aux systèmes de contrôle de robots et aux processeurs d'apprentissage automatique. Les packages fournissent également des moteurs pour organiser l'exécution de programmes en Lua, JerryScript, MicroPython, PikaScript et Rust (rtt_rust).

Système d'exploitation en temps réel RT-Thread 5.0 disponible

Parmi les nouvelles fonctionnalités ajoutées dans la version 5.0, on peut noter une amélioration significative de la prise en charge des systèmes multicœurs et multithread (par exemple, la pile réseau et les systèmes de fichiers sont adaptés pour fonctionner en mode multithread, le planificateur est divisé en options pour les systèmes monocœur et SMP). Ajout de l'implémentation de TLS (Thread Local Storage). Prise en charge améliorée des puces Cortex-A. Prise en charge considérablement améliorée des systèmes 64 bits (pile TCP/IP et systèmes de fichiers vérifiés pour les systèmes 64 bits). Composants de gestion de mémoire Flash intégrés. Les outils de création de pilotes ont été repensés.

Source: opennet.ru

Ajouter un commentaire