Het real-time besturingssysteem RT-Thread 5.0 is beschikbaar

De release van RT-Thread 5.0 is aangekondigd, een real-time besturingssysteem (RTOS) voor internet-of-things apparaten. Het systeem is ontwikkeld sinds 2006 door een gemeenschap van Chinese ontwikkelaars en is momenteel geport naar bijna 200 platforms, chips en microcontrollers gebaseerd op x86, ARM, MIPS, C-SKY, Xtensa, ARC en RISC-V architecturen. De minimalistische RT-Thread (Nano) build vereist slechts 3 KB Flash en 1,2 KB RAM om te functioneren. Voor IoT-apparaten met ruime middelen is er een volledig functionele versie beschikbaar, die pakketbeheer, configurators, een netwerkstack, pakketten met een grafische gebruikersinterface, spraakbesturing, databasesystemen, netwerkservices en engines voor het uitvoeren van scripts ondersteunt. De code is geschreven in C en verspreid onder de Apache 2.0-licentie.

Kenmerken van het platform:

  • Ondersteuning voor architecturen:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (ondersteunde microcontrollers van fabrikanten zoals ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevice, 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.
  • Uitbreidbare modulaire architectuur, die het mogelijk maakt om een omgeving te creëren die geschikt is voor systemen met beperkte middelen (minimale vereisten — 3 KB Flash en 1,2 KB RAM).
  • Ondersteuning voor verschillende standaardinterfaces voor softwareontwikkeling, zoals POSIX, CMSIS, C++ API. Een aparte laag, RTduino, wordt ontwikkeld voor compatibiliteit met de API en bibliotheken van het Arduino-project.
  • Mogelijkheid tot uitbreiding via een pakket- en plug-in systeem.
  • Ondersteuning voor de ontwikkeling van applicaties voor hoge prestaties bij gegevensverwerking.
  • Flexibel energiebeheersysteem dat het apparaat automatisch in de slaapstand kan zetten en de spanning en frequentie dynamisch kan beheren, afhankelijk van de belasting.
  • Ondersteuning van hardware voor encryptie en decryptie, met bibliotheken die verschillende cryptografische algoritmen aanbieden.
  • Gecoördineerde interface voor toegang tot randapparaten en extra apparatuur.
  • Virtueel FS en aanwezigheid van drivers voor FS zoals FAT, UFFS, NFSv3, ROMFS en RAMFS.
  • Protocolstack voor TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, enz.
  • Systeem voor externe levering en installatie van updates, dat encryptie en verificatie via digitale handtekeningen ondersteunt, onderbroken installaties kan hervatten, herstel na een mislukking kan bieden, wijzigingen kan terugdraaien, enz.
  • Een systeem van dynamisch te laden kernelmodules, waarmee componenten van de kernel afzonderlijk kunnen worden samengesteld en ontwikkeld, en dynamisch kunnen worden geladen wanneer dat nodig is.
  • Ondersteuning voor verschillende externe pakketten, zoals Yaffs2, SQLite, FreeModbus, Canopen, enzovoort.
  • De mogelijkheid om een BSP-pakket (Board Support Package) rechtstreeks te compileren met componenten voor de ondersteuning van een specifieke hardwareplatform en het op de kaart te laden.
  • Beschikbaarheid van een emulator (BSP qemu-vexpress-a9) die het mogelijk maakt om applicaties te ontwikkelen zonder echte hardware te gebruiken.
  • Ondersteuning voor gangbare compilers en ontwikkeltools zoals GCC, MDK Keil en IAR.
  • De ontwikkeling van de eigen geïntegreerde ontwikkelomgeving RT-Thread Studio IDE, die het mogelijk maakt om applicaties te maken en te debuggen, deze naar kaarten te uploaden en instellingen te beheren. Plug-ins voor het ontwikkelen van software voor RT-Thread zijn ook beschikbaar voor Eclipse en VS Code.
    Het real-time besturingssysteem RT-Thread 5.0 is beschikbaar
  • Beschikbaarheid van een console-interface Env die het creëren van projecten en het configureren van de omgeving vereenvoudigt.
    Het real-time besturingssysteem RT-Thread 5.0 is beschikbaar

Het besturingssysteem bestaat uit drie basislagen:

  • De kernel, die zorgt voor het uitvoeren van taken in real-time. De kernel biedt universele basisprimitive die gebieden bestrijken zoals het beheren van blokkeringen en gegevenssynchronisatie, takenplanning, threadbeheer, signaalverwerking, berichtenwachtrijen, timerbeheer en geheugbeheer. Specifieke hardware-afhankelijkheden zijn geïmplementeerd op het niveau van libcpu en BSP, die de noodzakelijke stuurprogramma's en code voor CPU-ondersteuning bevatten.
  • Componenten en diensten die bovenop de kernel draaien en abstracties aanbieden zoals een virtueel bestandssysteem, een uitzonderingverwerkingssysteem, opslag in key/value-formaat, de commandoregelinterface FinSH, een netwerkstack (LwIP) en netwerkkaders, bibliotheken ter ondersteuning van apparaten, een geluidsysteem, een draadloos stack, componenten ter ondersteuning van Wi-Fi, LoRa, Bluetooth, 2G/4G. De modulaire architectuur maakt het mogelijk om componenten en diensten aan te sluiten op basis van eigen taken en beschikbare hardwarebronnen.
  • Programmatische pakketten. Programmeercomponenten van algemeen nut en functiebibliotheken worden verspreid en geïnstalleerd in de vorm van pakketten. Momenteel bevat de repository meer dan 450 pakketten die variëren van grafische interfaces, multimedia-applicaties en netwerkapplicaties tot robotbeheer systemen en machine learning gebaseerde handlers. De pakketten bevatten ook engines voor het uitvoeren van programma's in de talen Lua, JerryScript, MicroPython, PikaScript en Rust (rtt_rust).

Het real-time besturingssysteem RT-Thread 5.0 is beschikbaar

De nieuwe mogelijkheden die zijn toegevoegd in versie 5.0 omvatten aanzienlijke verbeteringen in de ondersteuning van multi-core en multi-threaded systemen (bijvoorbeeld zijn de netwerkstack en bestandssystemen aangepast voor multi-threading, en is de scheduler gesplitst in opties voor single-core systemen en SMP). Er is een implementatie van TLS (Thread Local Storage) toegevoegd. De ondersteuning voor Cortex-A chips is verbeterd. De ondersteuning voor 64-bit systemen is aanzienlijk verbeterd (de TCP/IP stack en bestandssystemen zijn geverifieerd voor 64-bit systemen). Componenten voor het beheer van Flash-geheugen zijn geïntegreerd. Het gereedschap voor het maken van drivers is herontworpen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster