Publicēta RT-Thread 5.3 versija, reāllaika operētājsistēma (RTOS) interneta lietu ierīcēm. Sistēma attīstās kopš 2006. gada, to izstrādā ķīniešu izstrādātāju kopiena, un šobrīd tā ir portēta uz 155 platformām, mikroprocesoriem un mikrokontrolieriem, kas balstīti uz x86, ARM, MIPS, C-SKY, Xtensa, ARC un RISC-V arhitektūrām. Minimālā RT-Thread (Nano) versija darbībai prasa tikai 3 KB Flash un 1.2 KB RAM. Vispārējai versijai IoT ierīcēm, kas nav ļoti ierobežotas resursiem, tiek piedāvāta funkcionāla versija ar pakotņu pārvaldību, konfiguratoriem, tīkla kaudzi, pakotnēm ar grafiskā saskarnes realizāciju, balss vadības sistēmām, datu bāzēm, tīkla pakalpojumiem un skriptu izpildes dzinējiem. Kods uzrakstīts C valodā un tiek izplatīts ar Apache 2.0 licenci.
Operētājsistēmu veido trīs pamata slāņi:
- Kodola slānis, kas nodrošina reālā laika uzdevumu izpildi. Kodols piedāvā vispārējus pamata primitīvus, kas aptver tādas jomas kā bloķēšanas un datu sinhronizācijas pārvaldība, uzdevumu plānošana, plūsmu pārvaldība, signālu apstrāde, ziņojumu rindas, taimeru pārvaldība, atmiņas pārvaldība. Nepieciešamās aparatūras īpašības tiek realizētas libcpu un BSP līmenī, kas ietver nepieciešamos draiverus un kodu CPU atbalstam.
- Komponenti un pakalpojumi, kas darbojas virs kodola un piedāvā tādas abstrakcijas kā virtuālā failu sistēma, izņēmumu apstrādes sistēma, atslēga/vērtība formāta datu glabāšana, komandu līnijas interfeiss FinSH, tīkla steks (LwIP) un tīklu ietvari, bibliotēkas ierīču atbalstam, audio apakšsistēma, bezvadu steks, komponenti Wi-Fi, LoRa, Bluetooth, 2G/4G atbalstam. Moduļa arhitektūra ļauj pievienot komponentus un pakalpojumus atkarībā no uzdevumiem un pieejamajiem aparatūras resursiem.
- Programmu paketes. Vispārējās lietojumprogrammas un funkciju bibliotēkas tiek izplatītas un instalētas paketes formā. Pašlaik krātuvē ir vairāk nekā 450 paketes, kas piedāvā no grafiskajām saskarnēm, multimediju lietojumprogrammām un tīkla lietojumprogrammām līdz robotu vadības sistēmām un mašīnmācīšanās apstrādātājiem. Pakotnēs ietilpst arī dzinēji, kas nodrošina programmu izpildi valodās Lua, JerryScript, MicroPython, PikaScript un Rust (rtt_rust).

Platformas īpašības:
- Atbalstītās arhitektūras:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (atbalsta mikrokontrollerus no tādiem ražotājiem kā 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.
- Paplašināma moduļu arhitektūra, kas ļauj izveidot vidi, kas piemērota ierīcēm ar ierobežotiem resursiem (minimālās prasības — 3 KB Flash un 1.2 KB RAM).
- Atbalsts dažādiem standartizētiem saskarnēm programmu izstrādei, piemēram, POSIX, CMSIS, C++ API. Atsevišķi tiek attīstīta RTduino starpslāņa saskarne, lai nodrošinātu saderību ar Arduino projektu API un bibliotēkām.
- Iespēja paplašināt caur pakotņu un papildināmo komponentu sistēmu.
- Atbalsts augstas veiktspējas informācijas apstrādes lietojumprogrammu izstrādei.
- Elastīga barošanas vadības sistēma, kas automātiski pārslēdz ierīci miega režīmā un dinamiski pārvalda spriegumu un frekvenci atkarībā no slodzes.
- Atbalsts aparatūrai šifrēšanai un atšifrēšanai, piedāvājot bibliotēkas ar dažādiem kriptogrāfiskiem algoritmiem.
- Vienots interfeiss piekļuvei perifērijas ierīcēm un papildierīcēm.
- Virtuāla FS un draiveru pieejamība tādām FS kā FAT, UFFS, NFSv3, ROMFS un RAMFS.
- Protokolu steks TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M utt.
- Attālinātās piegādes un atjaunināšanas instalācijas sistēma, kas atbalsta šifrēšanu un digitālās paraksta verifikāciju, pārtraukto instalāciju atjaunošanu, atjaunošanu pēc neveiksmes, izmaiņu atcelšanu utt.
- Dinamisko moduļu ielādes sistēma, kas ļauj atsevišķi izstrādāt un attīstīt kodola komponentus, un dinamiski tos ielādēt, ja parādās vajadzība.
- Atbalsts dažādiem trešo pušu pakotnēm, piemēram, Yaffs2, SQLite, FreeModbus, Canopen u.c.
- Tiešas BSP pakotnes (Board Support Package) kompilācijas iespēja ar komponentiem, lai atbalstītu konkrētu aparatūras platformu, un tās ielāde uz plates.
- Emulatora (BSP qemu-vexpress-a9) klātbūtne, kas ļauj izstrādāt lietojumprogrammas bez reāla aprīkojuma izmantošanas.
- Atbalsts standarta kompilatoriem un izstrādes rīkiem, piemēram, GCC, MDK Keil un IAR.
- Attīstīta sava integrētā izstrādes vide RT-Thread Studio IDE, kas ļauj izveidot un atkļūdot lietojumprogrammas, ielādēt tās uz plates, pārvaldīt iestatījumus. Paplašinājumi RT-Thread programmu izstrādei ir pieejami arī Eclipse un VS Code.
- Konsoļu interfeisa Env esamība, kas atvieglo projektu izveidi un vides konfigurāciju.
Starp jaunumiem jaunajā laidienā:
- Paplašināta atbalsta izstrāde komponentiem Rust valodā. Pievienotas Rust saites plūsmām, mutexiem, semaforiem, ziņojumu rindām, kā arī operācijām ar atmiņu, laiku un failiem. Ieviesti komponenti integrācijai ar SCons un Cargo. Nodrošināta automātiska mērķplatformu ARM, AArch64 un RISC-V noteikšana. Pievienoti procedurālie makro, lai inicializētu un reģistrētu komandas.
- Mikrokontrolieriem Cortex-M iekļauts atbalsts Open Firmware standartam ar perifērijas aprakstu, izmantojot Device Tree.
- Pievienots atbalsts VirtIO 1.2 ar iespēju izmantot pakotņu rindas, MMIO/PCI transportu un DMA sinhronizāciju. Pievienoti VirtIO faili 9P, crypto, RNG, SCMI un SCSI. Atjaunoti VirtIO faili tīklam, bloku ierīcēm, konsolēm, ievades ierīcēm un GPU.
- Pievienots DVFS (Dynamic Voltage and Frequency Scaling) ietvars dinamiski CPU un ierīču frekvences pārvaldībai. Nodrošināta integrācija ar ARM SCMI mikroshēmojumu enerģijas patēriņa pārvaldībai. Uzlabota ventilatoru pārvaldība.
- Pievienots atbalsts TEE videi (Trusted Execution Environment) un RPMSG (Remote Processor Messaging) ziņojumu apmaiņas mehānismam.
- Ieviesēts atbalsts Unix soketiem.
- Pievienots atbalsts bezvadu tīklu aizsardzības mehānismiem WPA3, EA (Enterprise Authentication), WAPI, OWE un DPP.
- Pievienots atbalsts laika sinhronizācijas protokolam PTP (Precision Time Protocol).
- Pievienots Clock Time ietvars laika apstrādei, kas atbalsta augstas precizitātes taimerus un laika sinhronizāciju no vairākiem avotiem. Jaunais ietvars aizstāj iepriekš izmantotos komponentus ktime, cputime un hwtimer.
- Realizēta 9PFS failu sistēma, kas tiek izmantota failu apmaiņai starp hostinga vidi un virtulālajām mašīnām.
- Lai īstenotu vieglos procesus lwP (Lightweight Process), pievienota ARM arhitektūras atbalsts un vDSO (virtual dynamic shared object) mehānisma atbalsts, kas ļauj pārvietot apstrādātājus no kodola lietotāja telpā un izvairīties no konteksta maiņām.
- Kodola līmenī ieviests atbalsts 8- un 16-bit atomiskajām operācijām.
- Pievienots simetriskas multiprocesu (SMP) atbalsts RISC-V XuanTie C/R sērijas procesoriem un QEMU virt64 emulatoram.
- Atjaunots CherryUSB 1.6.1 USB steks.
- Pievienoti jauni DM (Device Manager) draiveri UFS, AHCI, NVMe, Ethernet, Intel HDA, spēļu kontrolleriem un skārienekrāniem.
Avots: opennet.lv
