Real-time operating system RT-Thread 5.3 is available

De release van RT-Thread 5.3 is gepubliceerd, een real-time besturingssysteem (RTOS) voor Internet of Things (IoT)-apparaten. Het systeem is sinds 2006 ontwikkeld door een gemeenschap van Chinese ontwikkelaars en is momenteel gepoort voor 155 platforms, chips en microcontrollers op basis van de architecturen x86, ARM, MIPS, C-SKY, Xtensa, ARC en RISC-V. De minimalistische versie van RT-Thread (Nano) vereist slechts 3 KB Flash en 1,2 KB RAM om te functioneren. Voor IoT-apparaten die niet sterk beperkt zijn in middelen, is er een volledig functionele versie beschikbaar die pakketbeheer, configurators, een netwerkstack, pakketten met grafische gebruikersinterface, spraakgestuurde systemen, databases, netwerkdiensten en scripttalen ondersteunt. De code is geschreven in C en wordt verspreid onder de Apache 2.0-licentie.

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).

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, HPMicro).
    • 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.
  • Beschikbaarheid van een console-interface Env die het creĆ«ren van projecten en het configureren van de omgeving vereenvoudigt.

Onder de veranderingen in de nieuwe release:

  • Uitgebreide ondersteuning voor het ontwikkelen van componenten in de programmeertaal Rust. Rust-wrappers zijn toegevoegd voor threads, mutexes, semaforen, berichtenwachtrijen, en voor geheugen-, tijd- en bestandsbewerkingen. Componenten voor integratie met SCons en Cargo zijn gerealiseerd. Automatische detectie van doelplatforms ARM, AArch64 en RISC-V is verzorgd. Procedurele macro's zijn toegevoegd voor het initialiseren en registreren van commando's.
  • Voor Cortex-M microcontrollers is ondersteuning voor de Open Firmware standaard ingeschakeld, met een beschrijving van de randapparatuur via Device Tree.
  • Ondersteuning voor VirtIO 1.2 is toegevoegd met de mogelijkheid om pakketwachtrijen, MMIO/PCI transporten en DMA-synchronisatie te gebruiken. VirtIO-drivers voor 9P, crypto, RNG, SCMI en SCSI zijn toegevoegd. VirtIO-drivers voor netwerken, blokapparaten, consoles, invoerapparaten en GPU zijn bijgewerkt.
  • Een DVFS-framework (Dynamic Voltage and Frequency Scaling) is toegevoegd voor dynamisch CPU- en apparaatsnelheidsbeheer. Integratie met ARM SCMI-firmware voor energiebeheer is gerealiseerd. Verbeterd beheer van koelers.
  • Ondersteuning voor TEE-omgevingen (Trusted Execution Environment) en het RPMSG (Remote Processor Messaging) berichtenuitwisselingsmechanisme is toegevoegd.
  • Ondersteuning voor Unix-sockets is gerealiseerd.
  • Ondersteuning voor beveiligingsmechanismen voor draadloze netwerken zoals WPA3, EA (Enterprise Authentication), WAPI, OWE en DPP is toegevoegd.
  • Ondersteuning voor het tijdsynchronisatieprotocol PTP (Precision Time Protocol) is toegevoegd.
  • Het Clock Time-framework is toegevoegd voor tijdbeheer, dat nauwkeurige timers en tijdsynchronisatie vanuit meerdere bronnen ondersteunt. Dit nieuwe framework vervangt de eerder gebruikte componenten ktime, cputime en hwtimer.
  • Het 9PFS-bestandssysteem is gerealiseerd, dat wordt gebruikt voor bestandsoverdracht tussen de hostomgeving en virtuele machines.
  • De implementatie van lichte processen (lwP - Lightweight Process) heeft ondersteuning gekregen voor de ARM-architectuur en de vDSO-mechanisme (virtual dynamic shared object) is toegevoegd, waardoor handlers van de kernel naar de gebruikersruimte kunnen worden verplaatst en contextwisselingen kunnen worden vermeden.
  • De kernel ondersteunt nu 8- en 16-bits atomische bewerkingen.
  • Ondersteuning voor symmetrische multiprocessing (SMP) is toegevoegd voor RISC-V-processoren van de XuanTie C/R-serie en de QEMU virt64-emulator.
  • De USB-stack CherryUSB 1.6.1 is bijgewerkt.
  • Nieuwe DM-drivers (Device Manager) zijn toegevoegd voor UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks en touchscreens.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster