Bol vydaný RT-Thread 5.3, operačný systém reálneho času (RTOS) pre zariadenia internetu vecí. Vyvíjaný od roku 2006 komunitou čínskych vývojárov, bol teraz portovaný na 155 dosiek, čipov a mikrokontrolérov založených na architektúrach x86, ARM, MIPS, C-SKY, Xtensa, ARC a RISC-V. Minimalistická zostava RT-Thread (Nano) vyžaduje iba 3 KB Flash a 1.2 KB RAM. Pre zariadenia internetu vecí s neobmedzenými obmedzeniami zdrojov je k dispozícii plne funkčná verzia, ktorá podporuje správu balíkov, konfigurátory, sieťový stack, balíky s grafickým používateľským rozhraním, systémy hlasového ovládania, DBMS, sieťové služby a skriptovacie enginy. Kód je napísaný v jazyku C a distribuovaný pod licenciou Apache 2.0.
Operačný systém pozostáva z troch základných vrstiev:
- Jadro, ktoré umožňuje vykonávať úlohy v reálnom čase. Jadro poskytuje generické základné primitívy pokrývajúce oblasti, ako je správa zámkov a synchronizácia údajov, plánovanie úloh, správa vlákien, manipulácia so signálmi, radenie správ, správa časovačov a správa pamäte. Funkcie špecifické pre hardvér sú implementované na úrovniach libcpu a BSP, ktoré zahŕňajú potrebné ovládače a kód na podporu CPU.
- Komponenty a služby, ktoré bežia nad jadrom a ponúkajú abstrakcie, ako napríklad virtuálny súborový systém, systém spracovania výnimiek, úložisko kľúč/hodnota, rozhranie príkazového riadka FinSH, sieťový zásobník (LwIP) a sieťové rámce, knižnice na podporu zariadení, zvukový subsystém, bezdrôtový stoh, komponenty na podporu Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulárna architektúra vám umožňuje prepojiť komponenty a služby v závislosti od vašich úloh a dostupných hardvérových prostriedkov.
- Softvérové balíky. Všeobecné softvérové komponenty a knižnice funkcií sú distribuované a inštalované vo forme balíkov. Úložisko v súčasnosti obsahuje viac ako 450 balíkov, ktoré ponúkajú všetko od grafických rozhraní, multimediálnych aplikácií a sieťových aplikácií až po riadiace systémy robotov a procesory založené na strojovom učení. Balíky tiež poskytujú nástroje na organizáciu vykonávania programov v jazykoch Lua, JerryScript, MicroPython, PikaScript a Rust (rtt_rust).

Vlastnosti platformy:
- Podpora architektúry:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podporované sú mikrokontroléry od výrobcov ako ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, 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 vytvárať 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í pre vývoj programov, ako sú POSIX, CMSIS, C++ API. Vrstva RTduino sa vyvíja samostatne kvôli kompatibilite s API projektu Arduino a knižnicami.
- Možnosť rozšírenia prostredníctvom systému balíčkov a zásuvných komponentov.
- Podpora vývoja aplikácií pre vysokovýkonné spracovanie informácií.
- Flexibilný systém správy napájania, ktorý umožňuje automaticky uviesť zariadenie do režimu spánku a dynamicky ovládať napätie a frekvenciu v závislosti od záťaže.
- Hardvérová podpora pre šifrovanie a dešifrovanie, poskytovanie knižníc s rôznymi kryptografickými algoritmami.
- Jednotné rozhranie pre prístup k periférnym zariadeniam a prídavným zariadeniam.
- Virtuálny súborový systém a dostupnosť ovládačov pre 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 atď.
- Systém na vzdialené doručovanie a inštaláciu aktualizácií, ktorý podporuje šifrovanie a overovanie pomocou digitálneho podpisu, obnovenie prerušenej inštalácie, zotavenie po zlyhaní, vrátenie zmien atď.
- Systém dynamicky načítaných modulov jadra, ktorý vám umožňuje samostatne zostavovať a vyvíjať komponenty jadra a v prípade potreby ich dynamicky načítať.
- Podporuje rôzne balíky tretích strán, ako napríklad Yaffs2, SQLite, FreeModbus, Canopen atď.
- Schopnosť priamo skompilovať balík BSP (Board Support Package) s komponentmi na podporu špecifickej hardvérovej platformy a nahrať ho na dosku.
- Dostupnosť emulátora (BSP qemu-vexpress-a9), ktorý vám umožňuje vyvíjať aplikácie bez použitia skutočných dosiek.
- Podpora bežných kompilátorov a vývojových nástrojov ako GCC, MDK Keil a IAR.
- Vývoj nášho vlastného integrovaného vývojového prostredia RT-Thread Studio IDE, ktoré vám umožňuje vytvárať a ladiť aplikácie, načítať ich na dosky a spravovať nastavenia. Vývojové doplnky pre RT-Thread sú dostupné aj pre Eclipse a VS Code.
- Prítomnosť konzolového rozhrania Env, ktoré zjednodušuje vytváranie projektov a nastavovanie prostredia.
Medzi zmeny v novom vydaní:
- Rozšírená bola podpora pre vývoj komponentov v jazyku Rust. Boli pridané väzby Rust pre vlákna, mutexy, semafory, fronty správ, ako aj operácie s pamäťou, časom a súbormi. Boli implementované komponenty pre integráciu s SCons a Cargo. K dispozícii je automatická detekcia cieľových platforiem ARM, AArch64 a RISC-V. Boli pridané procedurálne makrá pre inicializáciu a registráciu príkazov.
- Pre mikrokontroléry Cortex-M je povolená podpora štandardu Open Firmware s popisom periférií prostredníctvom stromu zariadení.
- Pridaná podpora pre VirtIO 1.2 s možnosťou používania front paketov, transportov MMIO/PCI a synchronizácie DMA. Boli pridané ovládače VirtIO pre 9P, krypto, RNG, SCMI a SCSI. Boli aktualizované ovládače VirtIO pre sieť, blokové zariadenia, konzolu, vstupné zariadenia a GPU.
- Bol pridaný rámec DVFS (Dynamic Voltage and Frequency Scaling) pre dynamickú správu frekvencie CPU a zariadení. Bola zabezpečená integrácia s firmvérom ARM SCMI pre správu napájania. Vylepšená bola správa ventilátorov.
- Pridaná podpora pre prostredia TEE (Trusted Execution Environment) a mechanizmus odosielania správ RPMSG (Remote Processor Messaging).
- Bola implementovaná podpora pre Unixové sockety.
- Pridaná podpora pre mechanizmy zabezpečenia bezdrôtových sietí WPA3, EA (Enterprise Authentication), WAPI, OWE a DPP.
- Pridaná podpora pre protokol synchronizácie času PTP (Precision Time Protocol).
- Pre prácu s časom bol pridaný framework Clock Time, ktorý podporuje vysoko presné časovače a synchronizáciu času medzi viacerými zdrojmi. Nový framework nahrádza predtým používané komponenty ktime, cputime a hwtimer.
- Bol implementovaný súborový systém 9PFS, ktorý sa používa na výmenu súborov medzi hostiteľským prostredím a virtuálnymi počítačmi.
- Implementácia ľahkých procesov (lwP) teraz podporuje architektúru ARM a pridáva podporu pre mechanizmus vDSO (virtuálny dynamický zdieľaný objekt), ktorý umožňuje presun obslužných programov z jadra do používateľského priestoru a vyhnúť sa prepínaniu kontextu.
- Jadro implementuje podporu pre 8-bitové a 16-bitové atomické operácie.
- Pridaná podpora pre symetrické multiprocesovanie (SMP) pre procesory XuanTie radu C/R RISC-V a emulátor QEMU virt64.
- Zásobník CherryUSB USB bol aktualizovaný na verziu 1.6.1.
- Pridané nové ovládače DM (Správca zariadení) pre UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticky a dotykové obrazovky.
Zdroj: opennet.ru
