Izšel je RT-Thread 5.3, operacijski sistem za delo v realnem času (RTOS) za naprave interneta stvari. Razvija ga skupnost kitajskih razvijalcev od leta 2006 in je bil do zdaj prenesen na 155 plošč, čipov in mikrokrmilnikov, ki temeljijo na arhitekturah x86, ARM, MIPS, C-SKY, Xtensa, ARC in RISC-V. Minimalistična različica RT-Thread (Nano) zahteva le 3 KB bliskovnega pomnilnika in 1.2 KB RAM-a. Za naprave interneta stvari z neomejenimi omejitvami virov je na voljo različica s polnimi funkcijami, ki podpira upravljanje paketov, konfiguratorje, omrežni sklad, pakete z grafičnim uporabniškim vmesnikom, sisteme za glasovno upravljanje, sistem za upravljanje podatkovnih baz, omrežne storitve in skriptne mehanizme. Koda je napisana v jeziku C in se distribuira pod licenco Apache 2.0.
Operacijski sistem je sestavljen iz treh osnovnih plasti:
- Jedro, ki omogoča izvajanje nalog v realnem času. Jedro zagotavlja generične osnovne primitive, ki pokrivajo področja, kot so upravljanje zaklepanja in sinhronizacija podatkov, razporejanje opravil, upravljanje niti, obravnavanje signalov, čakalna vrsta sporočil, upravljanje časovnika in upravljanje pomnilnika. Funkcije, specifične za strojno opremo, so implementirane na ravni libcpu in BSP, ki vključujejo potrebne gonilnike in kodo za podporo CPE.
- Komponente in storitve, ki se izvajajo na vrhu jedra in ponujajo abstrakcije, kot so navidezni datotečni sistem, sistem za obravnavanje izjem, shranjevanje ključev/vrednosti, vmesnik ukazne vrstice FinSH, omrežni sklad (LwIP) in omrežna ogrodja, knjižnice za podporo naprave, zvočni podsistem, brezžični sklad, komponente za podporo Wi-Fi, LoRa, Bluetooth, 2G/4G. Modularna arhitektura vam omogoča povezovanje komponent in storitev glede na vaše naloge in razpoložljive strojne vire.
- Programski paketi. Komponente programske opreme za splošne namene in knjižnice funkcij se distribuirajo in namestijo v obliki paketov. Repozitorij trenutno vključuje več kot 450 paketov, ki ponujajo vse od grafičnih vmesnikov, multimedijskih aplikacij in omrežnih aplikacij do sistemov za nadzor robotov in procesorjev, ki temeljijo na strojnem učenju. Paketi zagotavljajo tudi motorje za organiziranje izvajanja programov v jezikih Lua, JerryScript, MicroPython, PikaScript in Rust (rtt_rust).

Lastnosti platforme:
- Podpora za arhitekturo:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podprti so mikrokontrolerji proizvajalcev kot so 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 (SINOPSIS)
- DSP (TI).
- C-Sky.
- x86.
- Razširljiva modularna arhitektura, ki omogoča ustvarjanje okolja, primernega za sisteme z omejenimi viri (minimalne zahteve - 3 KB Flash in 1.2 KB RAM).
- Podpora za različne standardne vmesnike za razvoj programov, kot so POSIX, CMSIS, C++ API. Plast RTduino se razvija ločeno zaradi združljivosti z API-jem in knjižnicami projekta Arduino.
- Možnost razširitve preko sistema paketov in plug-in komponent.
- Podpora razvoju aplikacij za visoko zmogljivo obdelavo informacij.
- Prilagodljiv sistem za upravljanje porabe energije, ki omogoča samodejno preklop naprave v način mirovanja in dinamično krmiljenje napetosti in frekvence glede na obremenitev.
- Strojna podpora za šifriranje in dešifriranje, zagotavljanje knjižnic z različnimi kriptografskimi algoritmi.
- Enoten vmesnik za dostop do perifernih naprav in dodatne opreme.
- Virtualni datotečni sistem in razpoložljivost gonilnikov za datotečne sisteme, kot so FAT, UFFS, NFSv3, ROMFS in RAMFS.
- Protokolni sklad za TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M itd.
- Sistem za oddaljeno dostavo in namestitev posodobitev, ki podpira šifriranje in preverjanje z digitalnim podpisom, nadaljevanje prekinjene namestitve, obnovitev po okvari, povrnitev sprememb itd.
- Sistem dinamično naloženih modulov jedra, ki vam omogoča ločeno gradnjo in razvoj komponent jedra ter njihovo dinamično nalaganje, ko je to potrebno.
- Podpira različne pakete tretjih oseb, kot so Yaffs2, SQLite, FreeModbus, Canopen itd.
- Zmožnost neposrednega prevajanja paketa BSP (Board Support Package) s komponentami za podporo določene strojne platforme in nalaganja na ploščo.
- Razpoložljivost emulatorja (BSP qemu-vexpress-a9), ki vam omogoča razvoj aplikacij brez uporabe pravih plošč.
- Podpora za običajne prevajalnike in razvojna orodja, kot so GCC, MDK Keil in IAR.
- Razvoj lastnega integriranega razvojnega okolja RT-Thread Studio IDE, ki omogoča ustvarjanje in razhroščevanje aplikacij, njihovo nalaganje na plošče in upravljanje nastavitev. Razvojni vtičniki za RT-Thread so na voljo tudi za Eclipse in VS Code.
- Prisotnost vmesnika konzole Env, ki poenostavlja ustvarjanje projektov in nastavitev okolja.
Med spremembami v novi izdaji:
- Razširjena je bila podpora za razvoj komponent v jeziku Rust. Dodane so bile Rustove vezi za niti, mutekse, semafore, čakalne vrste sporočil ter operacije s pomnilnikom, časom in datotekami. Implementirane so bile komponente za integracijo s SCons in Cargo. Na voljo je samodejno zaznavanje ciljnih platform ARM, AArch64 in RISC-V. Dodani so bili proceduralni makri za inicializacijo in registracijo ukazov.
- Za mikrokrmilnike Cortex-M je omogočena podpora za standard Open Firmware z opisom perifernih naprav prek drevesa naprav.
- Dodana podpora za VirtIO 1.2 z možnostjo uporabe čakalnih vrst paketov, transportov MMIO/PCI in sinhronizacije DMA. Dodani so bili gonilniki VirtIO za 9P, kripto, RNG, SCMI in SCSI. Posodobljeni so bili gonilniki VirtIO za omrežje, blokovne naprave, konzolo, vhodne naprave in grafični procesor.
- Dodan je bil ogrodje DVFS (Dynamic Voltage and Frequency Scaling) za dinamično upravljanje frekvenc procesorja in naprav. Omogočena je bila integracija z vdelano programsko opremo ARM SCMI za upravljanje porabe energije. Izboljšano je bilo upravljanje ventilatorjev.
- Dodana podpora za okolja TEE (Trusted Execution Environment) in mehanizem sporočanja RPMSG (Remote Processor Messaging).
- Implementirana je bila podpora za Unix vtičnice.
- Dodana podpora za varnostne mehanizme brezžičnih omrežij WPA3, EA (Enterprise Authentication), WAPI, OWE in DPP.
- Dodana podpora za protokol sinhronizacije časa PTP (Precision Time Protocol).
- Dodan je bil ogrodje Clock Time za delo s časom, ki podpira visoko natančne časovnike in sinhronizacijo časa med več viri. Novo ogrodje nadomešča prej uporabljene komponente ktime, cputime in hwtimer.
- Implementiran je bil datotečni sistem 9PFS, ki se uporablja za izmenjavo datotek med gostiteljskim okoljem in virtualnimi stroji.
- Implementacija lahkih procesov (lwP) zdaj podpira arhitekturo ARM in dodaja podporo za mehanizem vDSO (virtualni dinamični deljeni objekt), ki omogoča premikanje obdelovalcev iz jedra v uporabniški prostor in izogibanje preklopom konteksta.
- Jedro podpira 8- in 16-bitne atomske operacije.
- Dodana je podpora za simetrično večprocesiranje (SMP) za procesorje XuanTie serije C/R RISC-V in emulator QEMU virt64.
- CherryUSB USB sklad posodobljen na 1.6.1.
- Dodani novi gonilniki DM (upravitelj naprav) za UFS, AHCI, NVMe, Ethernet, Intel HDA, igralne palice in zaslone na dotik.
Vir: opennet.ru
