Pas një viti zhvillimi, është në dispozicion lëshimi i RT-Thread 5.1, një sistem operativ i kohës reale (RTOS) për pajisjet e internetit të gjërave. Sistemi po zhvillohet që nga viti 2006 nga një komunitet zhvilluesish kinez dhe aktualisht është portuar për 154 platforma, çipë dhe mikro kontrollues me arkitekturë x86, ARM, MIPS, C-SKY, Xtensa, ARC dhe RISC-V. Ndërtesa minimaliste RT-Thread (Nano) kërkon për funksionimin e saj vetëm 3 KB Flash dhe 1.2 KB RAM. Për pajisjet IoT, të cilat nuk janë shumë të kufizuara në burime, ofrohet një version me funksionalitet të plotë, duke mbështetur menaxhimin e paketave, konfiguruesit, rrjetin, paketat me realizim të ndërfaqes grafike, sistemet e komandës me zë, bazat e të dhënave, shërbimet rrjet dhe motorët për ekzekutimin e skripteve. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën Apache 2.0.
Sistemi operativ përbëhet nga tre shtresa bazë:
- Bërthama, e cila siguron ekzekutimin e detyrave në kohë reale. Bërthama ofron primitiva bazë universale që mbulojnë fusha si menaxhimi i bllokimeve dhe sinkronizimit të të dhënave, planifikimi i detyrave, menaxhimi i fijeve, përpunimi i sinjaleve, radhët e mesazheve, menaxhimi i timerëve dhe menaxhimi i memories. Veçoritë specifike të harduerit janë zbatuar në nivelin e libcpu dhe BSP, të cilat përfshijnë driverët e nevojshëm dhe kodin për mbështetjen e CPU.
- KomponentĂ«t dhe shĂ«rbimet qĂ« funksionojnĂ« mbi bĂ«rthamĂ«n dhe ofrojnĂ« abstraksione si sistemi virtual i skedarĂ«ve, sistemi i trajtimit tĂ« pĂ«rjashtimeve, ruajtja nĂ« formatin çelĂ«s/vlerĂ«, ndĂ«rfaqja e linjĂ«s sĂ« komandĂ«s FinSH, stack-u i rrjetit (LwIP) dhe framework-et e rrjetit, bibliotekat pĂ«r mbĂ«shtetjen e pajisjeve, nĂ«nsistemi audio, stack-u wireless, komponentĂ«t pĂ«r mbĂ«shtetjen e WiâFi, LoRa, Bluetooth, 2G/4G. Arkitektura modulare lejon lidhjen e komponentĂ«ve dhe shĂ«rbimeve sipas detyrave konkrete dhe burimeve harduerike nĂ« dispozicion.
- Paketat e softuerit. Komponentët softuerikë të përdorimit të përgjithshëm dhe bibliotekat e funksioneve shpërndahen dhe instalohen në formën e paketave. Aktualisht, depoja përfshin më shumë se 450 paketa, që ofrojnë gjithçka nga ndërfaqe grafike, aplikacione multimediale dhe aplikacione rrjeti deri te sistemet e menaxhimit të robotëve dhe përpunuesit e bazuar në machine learning. Paketat përfshijnë gjithashtu motorë për ekzekutimin e programeve në gjuhët Lua, JerryScript, MicroPython, PikaScript dhe Rust (rtt_rust).

Veçoritë e platformës:
- Mbështetje për arkitekturat:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mbështeten mikrokontrollues nga prodhues si 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.
- ArkitekturĂ« modulare e zgjerueshme, qĂ« lejon krijimin e njĂ« mjedisi tĂ« pĂ«rshtatshĂ«m pĂ«r sisteme me burime tĂ« kufizuara (kĂ«rkesat minimale â 3 KB Flash dhe 1.2 KB RAM).
- Mbështetje për ndërfaqe të ndryshme standarde për zhvillimin e softuerit, si POSIX, CMSIS, C++ API. Veçmas zhvillohet shtresa RTduino për përputhshmëri me API dhe bibliotekat e projektit Arduino.
- Mundësi zgjerimi përmes sistemit të paketave dhe komponentëve shtesë.
- Mbështetje për zhvillimin e aplikacioneve për përpunim të informacionit me performancë të lartë.
- Sistem fleksibël i menaxhimit të energjisë, që lejon kalimin automatik të pajisjes në modalitetin e fjetjes dhe menaxhimin dinamik të tensionit dhe frekuencës sipas ngarkesës.
- Mbështetje për mjete harduerike për enkriptim dhe dekriptim, si edhe ofrim bibliotekash me algoritme të ndryshme kriptografike.
- Ndërfaqe e unifikuar për qasje në pajisjet periferike dhe pajisjet shtesë.
- FS virtuale dhe prania e driverëve për sisteme skedarësh si FAT, UFFS, NFSv3, ROMFS dhe RAMFS.
- Stek protokollesh pĂ«r TCP/IP, Ethernet, WiâFi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M etj.
- Sistem për shpërndarjen dhe instalimin në distancë të përditësimeve, me mbështetje për enkriptim dhe verifikim me nënshkrim digjital, rifillim të instalimit të ndërprerë, rikuperim pas dështimit, kthim të ndryshimeve pas dhembjeve e të ngjashme.
- Sistem i moduleve të kernelit që ngarkohen dinamikisht, i cili mundëson ndërtimin dhe zhvillimin e veçuar të komponentëve të kernelit, si edhe ngarkimin e tyre dinamik kur nevojiten.
- Mbështetje për paketa të ndryshme të palëve të treta, si p.sh. Yaffs2, SQLite, FreeModbus, Canopen etj.
- Mundësi për kompilim të drejtpërdrejtë të paketës BSP (Board Support Package) me komponentë për mbështetjen e një platforme të caktuar harduerike dhe ngarkimin e saj në pllakë.
- Disponueshmëri e emulatorit (BSP qemu-vexpress-a9), që mundëson zhvillimin e aplikacioneve pa përdorur pllaka reale.
- Mbështetje për kompajlerë dhe mjete standarde zhvillimi, si GCC, MDK Keil dhe IAR.
- Zhvillim i mjedisit të vet të integruar për zhvillim RT-Thread Studio IDE, i cili mundëson krijimin dhe debugimin e aplikacioneve, ngarkimin e tyre në pllaka dhe menaxhimin e cilësimeve. Plugin-et për zhvillimin e programeve për RT-Thread janë gjithashtu të disponueshme për Eclipse dhe VS Code.
- Disponueshmëri e ndërfaqes së konsolës Env, e cila thjeshton krijimin e projekteve dhe konfigurimin e mjedisit.
Mes ndryshimeve në versionin e ri:
- NĂ« RT-Smart, njĂ« sistem operativ hibrid mbi RT-Thread, i cili ndan aplikacionet nga bĂ«rthama, pĂ«rfshihet me default mbĂ«shtetje pĂ«r mekanizmat epoll, eventfd, signalfd, timerfd dhe select. Parashikohet njĂ« sistem i emulatorit tĂ« terminalit. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pajisjet DFZU2EG MPSoC dhe cv181x-riscv.
- Në RTduino, një shtresë për të siguruar përputhshmërinë me ekosistemin Arduino, është shtuar mbështetje për platformat raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
- Komponentët e jashtëm, si ssh, sftp, weston dhe vim, janë përditësuar.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r platformat dhe çipat e rinj, si HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
- ĂshtĂ« optimizuar puna e planifikuesve tĂ« detyrave dhe CPU. ĂshtĂ« shtuar njĂ« degĂ« pĂ«r tĂ« abstarakion planifikuesin rt_sched.
- ĂshtĂ« bĂ«rĂ« optimizim i punĂ«s nĂ« sistemet shumĂ«bĂ«rdhama.
- ĂshtĂ« mundĂ«suar lidhja e pĂ«rpunuesve me operacionet e alokimit tĂ« memories malloc.
- Për arkitekturën ARM64 dhe RV64 është realizuar mbështetje për gjurmimin prapa (backtrace) të bërthamës.
- Përparon kalimi në modelin e ri të drejtuesve të pajisjeve.
- Në drejtuesit virtio qemu-virt64-aarch64 dhe qemu-virt64-riscv është shtuar mbështetje për SDL2.
- ĂshtĂ« shtuar njĂ« strukturĂ« pĂ«r zhvillimin e drejtuesve clk.
- Në DFS është shtuar konfigurimi exfat. Bërthama për parazgjedhje është kaluar në përdorimin e FS dfsv2.
- Përmirësuar mbështetje për terminalet TTY.
- Në sistemin e hyrjes/daleve është shtuar mbështetje për flagjet O_DIRECT dhe O_SYNC.
- NĂ« zbatimin e proceseve tĂ« lehta lwP (Lightweight Process), funksioni wp_new Ă«shtĂ« zĂ«vendĂ«suar me lwp_create. ĂshtĂ« shtuar funksioni sys_setitimer.
- Në menaxherin e memories MM është shtuar mbështetje për rezervimin e memories dhe është zbatuar funksioni rt_aspace_mremap_range.
- Në Libcpu është shtuar mbështetje për procesorët ARM Cortex-M85 dhe Cortex-R52.
Burimi: opennet.ru
