Le système d'exploitation en temps réel RT-Thread 5.0 est disponible

La version 5.0 de RT-Thread, un système d'exploitation en temps réel (RTOS) pour les dispositifs IoT, a été publiée. Le système est développé depuis 2006 par une communauté de développeurs chinois et est maintenant porté sur près de 200 plateformes, puces et microcontrôleurs basés sur les architectures x86, ARM, MIPS, C-SKY, Xtensa, ARC et RISC-V. La version minimaliste RT-Thread (Nano) nécessite seulement 3 Ko de Flash et 1,2 Ko de RAM pour fonctionner. Pour les dispositifs IoT qui ne sont pas fortement limités en ressources, une version complète est proposée, prenant en charge la gestion des paquets, les configurateurs, la pile réseau, les paquets avec interface graphique, les systèmes de commande vocale, les bases de données, les services réseau et des moteurs d'exécution de scripts. Le code est écrit en C et distribué sous la licence Apache 2.0.

Caractéristiques de la plateforme :

  • Support des architectures :
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (supporte les microcontrôleurs de fabricants tels que 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.
  • Architecture modulaire extensible permettant de créer un environnement adapté aux systèmes à ressources limitées (exigences minimales : 3 Ko de Flash et 1,2 Ko de RAM).
  • Support de diverses interfaces standard pour le développement de programmes, telles que POSIX, CMSIS, API C++. Une couche RTduino est développée séparément pour la compatibilité avec l'API et les bibliothèques du projet Arduino.
  • Possibilité d'extension via un système de paquets et de composants connexes.
  • Support du développement d'applications pour un traitement d'information à haute performance.
  • Système de gestion d'énergie flexible, permettant de mettre automatiquement l'appareil en mode veille et de gérer dynamiquement la tension et la fréquence en fonction de la charge.
  • Support du matériel pour le cryptage et le décryptage, fournissant des bibliothèques avec divers algorithmes cryptographiques.
  • Interface unifiée pour l'accès aux périphériques et équipements supplémentaires.
  • FS virtuel et disponibilité de pilotes pour des systèmes de fichiers 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.
  • Système de distribution et d'installation à distance des mises à jour, supportant le cryptage et la vérification par signature numérique, la reprise des installations interrompues, la récupération après échec, le retour en arrière et plus encore.
  • Un système de modules dynamiquement chargés du noyau, permettant de rassembler et de développer séparément des composants du noyau, et de les charger dynamiquement en cas de besoin.
  • Support de divers paquets tiers, comme Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • Possibilité de compiler directement le paquet BSP (Board Support Package) avec des composants pour le support d'une plateforme matérielle spécifique, et de le charger sur la carte.
  • Présence d'un émulateur (BSP qemu-vexpress-a9), permettant de développer des applications sans utiliser de cartes physiques.
  • Support des compilateurs et outils de développement standards, tels que GCC, MDK Keil et IAR.
  • Développement d'un environnement de développement intégré, RT-Thread Studio IDE, permettant de créer et de déboguer des applications, de les charger sur des cartes, et de gérer les paramètres. Des plugins pour développer des logiciels pour RT-Thread sont également disponibles pour Eclipse et VS Code.
    Le système d'exploitation en temps réel RT-Thread 5.0 est disponible
  • Présence d'une interface de console Env, simplifiant la création de projets et la configuration de l'environnement.
    Le système d'exploitation en temps réel RT-Thread 5.0 est disponible

Le système d'exploitation est constitué de trois couches de base :

  • Le noyau, qui assure l'exécution des tâches en temps réel. Le noyau fournit des primitives de base universelles couvrant des domaines tels que la gestion des verrouillages et la synchronisation des données, la planification des tâches, la gestion des flux, le traitement des signaux, les files d'attente de messages, la gestion des temporisateurs et la gestion de la mémoire. Les caractéristiques spécifiques au matériel sont réalisées au niveau de libcpu et BSP, qui incluent les pilotes nécessaires et le code pour prendre en charge le CPU.
  • Les composants et services fonctionnant au-dessus du noyau offrent des abstractions telles qu'un système de fichiers virtuel, un système de traitement des exceptions, un stockage au format clé/valeur, une interface de ligne de commande FinSH, une pile réseau (LwIP) et des frameworks réseau, des bibliothèques pour la prise en charge des appareils, un sous-système audio, une pile sans fil, et des composants pour la prise en charge de Wi-Fi, LoRa, Bluetooth, 2G/4G. L'architecture modulaire permet de connecter des composants et des services en fonction de vos tâches et des ressources matérielles disponibles.
  • Paquets de programmes. Les composants logiciels génériques et les bibliothèques de fonctions sont distribués et installés sous forme de paquets. Actuellement, le dépôt comprend plus de 450 paquets, offrant des interfaces graphiques, des applications multimédias et des applications réseau, jusqu'à des systèmes de gestion de robots et des gestionnaires basés sur l'apprentissage automatique. Les paquets incluent également des moteurs pour l'exécution de programmes dans les langages Lua, JerryScript, MicroPython, PikaScript et Rust (rtt_rust).

Le système d'exploitation en temps réel RT-Thread 5.0 est disponible

Parmi les nouvelles fonctionnalités ajoutées dans la version 5.0, on peut noter une amélioration significative du support des systèmes multicœurs et multithread (par exemple, la pile réseau et les systèmes de fichiers ont été adaptés pour fonctionner en mode multithread, et le planificateur a été divisée en variantes pour les systèmes monocœurs et SMP). Une implémentation de TLS (Thread Local Storage) a été ajoutée. Le support des puces Cortex-A a été amélioré. Le support des systèmes 64 bits a été considérablement renforcé (la pile TCP/IP et les systèmes de fichiers ont été vérifiés pour les systèmes 64 bits). Des composants de gestion de la mémoire Flash ont été intégrés. L'outil de création de pilotes a été repensé.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster