Bola vydaná verzia RT-Thread 5.3, operačného systému reálneho času (RTOS) pre zariadenia internetu vecí. Systém sa vyvíja od roku 2006 komunitou čínskych vývojárov a v súčasnosti je portovaný pre 155 platforiem, čipov a mikrokontrolérov na báze architektúr x86, ARM, MIPS, C-SKY, Xtensa, ARC a RISC-V. Minimalistická verzia RT-Thread (Nano) vyžaduje na svoju činnosť iba 3 KB Flash a 1,2 KB RAM. Pre IoT zariadenia, ktoré nie sú veľmi obmedzené v zdrojoch, je k dispozícii plnohodnotná verzia, ktorá podporuje správu balíkov, konfigurátory, sieťový zásobník, balíky s realizáciou grafického rozhrania, systémy hlasového ovládania, databázové služby, sieťové služby a enginy pre vykonávanie skriptov. Kód je napísaný v jazyku C a distribuuje sa pod licenciou Apache 2.0.
Operačný systém sa skladá z troch základných vrstiev:
- Jadro, ktoré zabezpečuje vykonávanie úloh v reálnom čase. Jadro poskytuje univerzálne základné priradenia, pokrývajúce oblasti, ako sú správa zámkov a synchronizácia dát, plánovanie úloh, správa tokov, spracovanie signálov, správy správ, správa časovača a správa pamäte. Špecifické hardvérové charakteristiky sú implementované na úrovni libcpu a BSP, ktoré obsahujú potrebné ovládače a kód na podporu CPU.
- Súčasti a služby, ktoré pracujú nad jadrom a ponúkajú také abstrakcie, ako je virtuálny súborový systém, systém spracovania výnimiek, úložisko vo formáte kľúč/hodnota, príkazový riadok FinSH, sieťový zásobník (LwIP) a sieťové rámce, knižnice na podporu zariadení, zvukový subsystém, bezdrôtový zásobník, komponenty na podporu Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulárna architektúra umožňuje pripojiť komponenty a služby v závislosti od svojich úloh a dostupných hardvérových zdrojov.
- Balíky softvéru. Softvérové komponenty a knižnice funkcií sa distribuujú a inštalujú vo forme balíkov. V súčasnosti repozitár obsahuje viac ako 450 balíkov, ponúkajúcich grafické rozhrania, multimediálne aplikácie a sieťové aplikácie až po systémy riadenia robotov a spracovateľov na báze strojového učenia. V balíkoch sú tiež zahrnuté motory na organizáciu vykonávania programov v jazykoch Lua, JerryScript, MicroPython, PikaScript a Rust (rtt_rust).

Funkcie platformy:
- Podpora architektúr:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podporované mikrokontroléry od výrobcov ako 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.
- Rozšíriteľná modulárna architektúra, ktorá umožňuje vytvoriť prostredie vhodné pre systémy s obmedzenými zdrojmi (minimálne požiadavky - 3 KB Flash a 1.2 KB RAM).
- Podpora rôznych štandardných rozhraní na vývoj programov, ako je POSIX, CMSIS, C++ API. Samostatne sa vyvíja vrstvenie RTduino pre kompatibilitu s API a knižnicami projektu Arduino.
- Možnosť rozšírenia prostredníctvom systému balíkov a pripojiteľných komponentov.
- Podpora vývoja aplikácií pre vysoko výkonnú spracovanie informácií.
- Flexibilný systém správy napájania, ktorý umožňuje automaticky prepnúť zariadenie do režimu spánku a dynamicky riadiť napätie a frekvenciu v závislosti od záťaže.
- Podpora hardvéru pre šifrovanie a dešifrovanie, poskytovanie knižníc s rôznymi kryptografickými algoritmami.
- Jednotné rozhranie pre prístup k periférnym zariadením a ďalšiemu vybaveniu.
- Virtuálny súborový systém a dostupnosť ovládačov pre také súborové systémy ako FAT, UFFS, NFSv3, ROMFS a RAMFS.
- Protokolový zásobník pre TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M a pod.
- Systém vzdialeného doručovania a inštalácie aktualizácií, podporujúci šifrovanie a overovanie digitálnym podpisom, obnovu prerušených inštalácií, obnovenie po zlyhaní, návrat zmien a pod.
- Systém dynamicky načítaných modulov jadra, ktorý umožňuje samostatne zberať a vyvíjať komponenty jadra a dynamicky ich načítať podľa potreby.
- Podpora rôznych externých balíčkov, ako napríklad Yaffs2, SQLite, FreeModbus, Canopen a podobne.
- Možnosť priamej kompilácie BSP balíka (Board Support Package) s komponentmi na podporu určitej hardvérovej platformy a jeho načítanie na dosku.
- Existencia emulátora (BSP qemu-vexpress-a9), ktorý umožňuje vyvíjať aplikácie bez použitia reálnych dosiek.
- Podpora bežných kompilátorov a nástrojov na vývoj, ako sú GCC, MDK Keil a IAR.
- Rozvoj vlastného integrovaného prostredia RT-Thread Studio IDE, ktoré umožňuje vytvárať a ladit aplikácie, nahrávať ich na dosky a spravovať nastavenia. Pluginy pre vývoj aplikácií pre RT-Thread sú tiež dostupné pre Eclipse a VS Code.
- Existencia konzolového rozhrania Env, ktoré uľahčuje vytváranie projektov a nastavenie prostredia.
Medzi zmenami v novom vydaní:
- Rozšírená podpora vývoja komponentov v jazyku Rust. Pridané Rust obálky pre vlákna, mutexy, semafory, správy, ako aj operácie s pamäťou, časom a súbormi. Implementované komponenty pre integráciu s SCons a Cargo. Zabezpečené automatické určovanie cieľových platforiem ARM, AArch64 a RISC-V. Pridané procedurálne makrá pre inicializáciu a registráciu príkazov.
- Pre mikrocontrolery Cortex-M bola zahrnutá podpora štandardu Open Firmware s popisom periférií prostredníctvom Device Tree.
- Pridaná podpora VirtIO 1.2 s možnosťou využívania balíkových front, transportov MMIO/PCI a synchronizácie DMA. Pridané VirtIO ovládače 9P, crypto, RNG, SCMI a SCSI. Aktualizované VirtIO ovládače pre sieť, blokové zariadenia, konzolu, vstupné zariadenia a GPU.
- Pridaný framework DVFS (Dynamické riadenie napätia a frekvencie) na dynamické riadenie frekvencie CPU a zariadení. Zabezpečená integrácia s firmvérom ARM SCMI na riadenie spotreby energie. Zlepšené riadenie ventilátorov.
- Pridaná podpora TEE prostredí (Trusted Execution Environment) a mechanizmu výmeny správ RPMSG (Remote Processor Messaging).
- Implementovaná podpora Unix soketov.
- Pridaná podpora mechanizmov ochrany bezdrôtových sietí WPA3, EA (Enterprise Authentication), WAPI, OWE a DPP.
- Pridaná podpora protokolu synchronizácie času PTP (Precision Time Protocol).
- Bol pridaný rámec Clock Time na prácu s časom, podporujúci vysokopresné časovače a synchronizáciu času z viacerých zdrojov. Nový rámec nahrádza predtým používané komponenty ktime, cputime a hwtimer.
- Implementovaný súborový systém 9PFS, používaný na výmenu súborov medzi hostiteľským prostredím a virtuálnymi strojmi.
- V implementácii ľahkých procesov lwP (Lightweight Process) bola pridaná podpora pre architektúru ARM a zavedená podpora mechanizmu vDSO (virtual dynamic shared object), ktorý umožňuje presunúť spracovateľov z jadra do užívateľského priestoru a vyhnúť sa prepínačom kontextu.
- V jadre bola implementovaná podpora 8- a 16-bitových atomických operácií.
- Pridaná podpora symetrického multiprocesoringu (SMP) pre procesory RISC-V série XuanTie C/R a emulátor QEMU virt64.
- Aktualizovaný USB stack CherryUSB 1.6.1.
- Pridané nové DM ovládače (Device Manager) pre UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticky a dotykové obrazovky.
Zdroj: opennet.ru
