RT-Thread 5.0 real-time besturingssysteem beschikbaar

De release van RT-Thread 5.0, een real-time besturingssysteem (RTOS) voor Internet of Things-apparaten, is gepubliceerd. Het systeem is sinds 2006 ontwikkeld door een gemeenschap van Chinese ontwikkelaars en is momenteel geporteerd naar bijna 200 borden, chips en microcontrollers op basis van 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 werken. Voor IoT-apparaten die niet erg beperkt zijn in bronnen, wordt een volledig uitgeruste versie aangeboden die pakketbeheer, configurators, een netwerkstack, pakketten met de implementatie van een grafische interface, spraakbesturingssystemen, DBMS, netwerkdiensten en motoren voor het uitvoeren van scripts. De code is geschreven in C en wordt gedistribueerd onder de Apache 2.0-licentie.

Platformfuncties:

  • Architectuurondersteuning:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (microcontrollers van fabrikanten zoals ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP worden ondersteund).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenisch).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head).
    • BOOG (SYNOPSYS)
    • DSP (TI).
    • C-hemel.
    • x86.
  • Uitbreidbare modulaire architectuur waarmee u een omgeving kunt creëren die geschikt is voor systemen met beperkte bronnen (minimale vereisten - 3 KB Flash en 1.2 KB RAM).
  • Ondersteuning voor verschillende standaardinterfaces voor programmaontwikkeling, zoals POSIX, CMSIS, C++ API. De RTduino-laag wordt afzonderlijk ontwikkeld voor compatibiliteit met de API en bibliotheken van het Arduino-project.
  • Mogelijkheid tot uitbreiding door een systeem van pakketten en plug-in componenten.
  • Ondersteuning voor applicatieontwikkeling voor hoogwaardige informatieverwerking.
  • Flexibel energiebeheersysteem waarmee u het apparaat automatisch in de slaapmodus kunt zetten en de spanning en frequentie dynamisch kunt regelen, afhankelijk van de belasting.
  • Hardwareondersteuning voor codering en decodering, levering van bibliotheken met verschillende cryptografische algoritmen.
  • Uniforme interface voor toegang tot randapparatuur en extra apparatuur.
  • Virtueel bestandssysteem en beschikbaarheid van stuurprogramma's voor bestandssystemen zoals FAT, UFFS, NFSv3, ROMFS en RAMFS.
  • Protocolstack voor TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, enz.
  • Een systeem voor het op afstand leveren en installeren van updates dat codering en verificatie met behulp van een digitale handtekening ondersteunt, een onderbroken installatie hervat, herstelt van een fout, wijzigingen ongedaan maakt, enz.
  • Een systeem van dynamisch geladen kernelmodules waarmee u afzonderlijk kernelcomponenten kunt bouwen en ontwikkelen, en deze indien nodig dynamisch kunt laden.
  • Ondersteunt verschillende pakketten van derden, zoals Yaffs2, SQLite, FreeModbus, Canopen, enz.
  • De mogelijkheid om direct een BSP-pakket (Board Support Package) samen te stellen met componenten ter ondersteuning van een specifiek hardwareplatform, en dit op het bord te laden.
  • Beschikbaarheid van een emulator (BSP qemu-vexpress-a9), waarmee u applicaties kunt ontwikkelen zonder echte boards te gebruiken.
  • Ondersteuning voor gangbare compilers en ontwikkeltools zoals GCC, MDK Keil en IAR.
  • Ontwikkeling van onze eigen geïntegreerde ontwikkelomgeving RT-Thread Studio IDE, waarmee u applicaties kunt maken en debuggen, deze op boards kunt laden en instellingen kunt beheren. Ontwikkelingsplug-ins voor RT-Thread zijn ook beschikbaar voor Eclipse en VS Code.
    RT-Thread 5.0 real-time besturingssysteem beschikbaar
  • De aanwezigheid van de Env-console-interface, die het maken van projecten en het opzetten van de omgeving vereenvoudigt.
    RT-Thread 5.0 real-time besturingssysteem beschikbaar

Het besturingssysteem bestaat uit drie basislagen:

  • Een kernel waarmee taken in realtime kunnen worden uitgevoerd. De kernel biedt generieke kernprimitieven die gebieden bestrijken zoals vergrendelingsbeheer en gegevenssynchronisatie, taakplanning, threadbeheer, signaalverwerking, berichtenwachtrijen, timerbeheer en geheugenbeheer. Hardwarespecifieke functies zijn geïmplementeerd op libcpu- en BSP-niveau, waaronder de benodigde stuurprogramma's en code om de CPU te ondersteunen.
  • Componenten en diensten die bovenop de kernel draaien en abstracties bieden zoals een virtueel bestandssysteem, systeem voor het afhandelen van uitzonderingen, sleutel/waarde-opslag, FinSH-opdrachtregelinterface, netwerkstack (LwIP) en netwerkframeworks, apparaatondersteuningsbibliotheken, audiosubsysteem, draadloze stapel, componenten ter ondersteuning van Wi-Fi, LoRa, Bluetooth, 2G/4G. Dankzij de modulaire architectuur kunt u componenten en services verbinden, afhankelijk van uw taken en beschikbare hardwarebronnen.
  • Softwarepakketten. Softwarecomponenten en functiebibliotheken voor algemeen gebruik worden in de vorm van pakketten gedistribueerd en geïnstalleerd. De repository bevat momenteel meer dan 450 pakketten, die alles bieden, van grafische interfaces, multimediatoepassingen en netwerktoepassingen tot robotbesturingssystemen en op machine learning gebaseerde processors. De pakketten bieden ook motoren voor het organiseren van de uitvoering van programma's in de talen Lua, JerryScript, MicroPython, PikaScript en Rust (rtt_rust).

RT-Thread 5.0 real-time besturingssysteem beschikbaar

Onder de nieuwe functies die in versie 5.0 zijn toegevoegd, kunnen we een aanzienlijke verbetering opmerken in de ondersteuning voor multi-core en multi-threaded systemen (de netwerkstack en bestandssystemen zijn bijvoorbeeld aangepast om in multi-threaded modus te werken, de planner is verdeeld naar opties voor single-core systemen en SMP). Implementatie van TLS (Thread Local Storage) toegevoegd. Verbeterde ondersteuning voor Cortex-A-chips. Aanzienlijk verbeterde ondersteuning voor 64-bits systemen (TCP/IP-stack en bestandssystemen zijn geverifieerd voor 64-bits systemen). Componenten voor flashgeheugenbeheer zijn geïntegreerd. De toolkit voor het maken van stuurprogramma's is opnieuw ontworpen.

Bron: opennet.ru

Voeg een reactie