Het real-time besturingssysteem RT-Thread 5.1 is uitgebracht.

Na een jaar van ontwikkeling is de release van RT-Thread 5.1, een real-time besturingssysteem (RTOS) voor internet-of-things-apparaten, beschikbaar. Het systeem is sinds 2006 in ontwikkeling door een gemeenschap van Chinese ontwikkelaars en is momenteel geport naar 154 platforms, chips en microcontrollers op basis van de architekturen x86, ARM, MIPS, C-SKY, Xtensa, ARC en RISC-V. De minimalistische RT-Thread (Nano) build vereist slechts 3 KB Flash en 1,2 KB RAM om te functioneren. Voor IoT-apparaten die niet beperkingen in bronnen hebben, is er een volledig functionele versie beschikbaar die ondersteuning biedt voor pakketbeheer, configurators, netstack, pakketten met grafische gebruikersinterfaces, spraakgestuurde systemen, databases, netwerkservices en scriptuitvoeringsmotoren. 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).

Het real-time besturingssysteem RT-Thread 5.1 is uitgebracht.

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:

  • In RT-Smart, een hybride besturingssysteem op basis van RT-Thread dat applicaties van de kernel scheidt, is standaard ondersteuning voor epoll-, eventfd-, signalfd-, timerfd- en selectmechanismen opgenomen. Een subsysteem van een terminalemulator is geïmplementeerd. Ondersteuning voor DFZU2EG MPSoC- en cv181x-riscv-apparaten is toegevoegd.
  • In RTduino, een laag voor compatibiliteit met het Arduino-ecosysteem, is ondersteuning voor de platvormen raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo en stm32f407-rt-spark toegevoegd.
  • Derde partij componenten zoals ssh, sftp, weston en vim zijn bijgewerkt.
  • Ondersteuning voor nieuwe platvorms en chips zoals HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153) is toegevoegd.
  • De werking van taakplanners en CPU is geoptimaliseerd. Er is een laag toegevoegd voor het abstraheren van de planner rt_sched.
  • De werking in multi-core systemen is geoptimaliseerd.
  • Er is ondersteuning toegevoegd voor het aansluiten van handlers op geheugenallocatie-operaties malloc.
  • Voor ARM64- en RV64-architecturen is ondersteuning voor kernel backtracing geïmplementeerd.
  • De overgang naar een nieuw model voor apparaatchauffeurs is voortgezet.
  • In de virtio-drivers qemu-virt64-aarch64 en qemu-virt64-riscv is ondersteuning voor SDL2 toegevoegd.
  • Er is een framework toegevoegd voor het ontwikkelen van clk-drivers.
  • In DFS is de configuratie exfat toegevoegd. De kernel is standaard overgeschakeld naar het gebruik van het bestandssysteem dfsv2.
  • De ondersteuning voor TTY-terminals is verbeterd.
  • Het input/output-systeem heeft ondersteuning voor de flags O_DIRECT en O_SYNC gekregen.
  • In de implementatie van lichte processen (lwP) is de functie wp_new vervangen door lwp_create. De functie sys_setitimer is toegevoegd.
  • In de geheugenbeheerder MM is ondersteuning voor geheugentoewijzing toegevoegd en is de functie rt_aspace_mremap_range geïmplementeerd.
  • In Libcpu is ondersteuning voor de ARM Cortex-M85 en Cortex-R52 processoren toegevoegd.

Bron: opennet.ru

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