Pas një viti zhvillimi, dalja e RT-Thread 5.1, një sistem operativ në kohë reale (RTOS) për pajisjet e internetit të gjërave, është tani e disponueshme. Ky sistem zhvillohet që nga viti 2006 nga një komunitet zhvilluesish kinez dhe aktualisht është portuar për 154 platforma, çipe dhe mikro kontrollues në bazë të arkitekturave x86, ARM, MIPS, C-SKY, Xtensa, ARC dhe RISC-V. Ndërtesa minimaliste RT-Thread (Nano) kërkon vetëm 3 KB Flash dhe 1.2 KB RAM për të funksionuar. Për pajisjet IoT, që nuk janë shumë të kufizuara në burime, ofrohet një version me funksionalitete të plota, i cili mbështet menaxhimin e paketave, konfiguruesit, stekët rrjetërore, paketat me implementim të ndërfaqes grafike, sistemet e komandimit me zë, DBMS, shërbimet rrjetërore dhe motorët për ekzekutimin e skenarëve. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën Apache 2.0.
Sistemi operativ përbëhet nga tre nivele bazë:
- Një bërthamë që mundëson ekzekutimin e detyrave në kohë reale. Bërthama ofron primitive themelore universale që mbulojnë fusha të tilla si menaxhimi i bllokimeve dhe sinkronizimi i të dhënave, planifikimi i detyrave, menaxhimi i rrjedhave, përpunimi i sinjaleve, radhët e mesazheve, menaxhimi i timerëve, menaxhimi i memorizimit. Veçoritë specifike për hardware implementohen në nivelin libcpu dhe BSP, të cilat përfshijnë drejtuesit dhe kodin e nevojshëm për të mbështetur CPU.
- Komponentët dhe shërbimet që punojnë mbi bërthamën dhe ofrojnë abstraksione të tilla si sistemi virtual i skedareve, sistemi i përpunimit të përjashtimeve, depoja në formatin çelës/vlerë, ndërfaqja e komandave FinSH, stoku rrjetor (LwIP) dhe framework-ët rrjetorë, bibliotekat për mbështetje të pajisjeve, nënshkalla audio, stoku pa tel, komponentët për mbështetje të Wi-Fi, LoRa, Bluetooth, 2G/4G. Arkitektura modulare lejon lidhjen e komponentëve dhe shërbimeve në varësi të detyrave dhe burimeve harduari të disponueshme.
- Paketa të programeve. Componentet e zakonshme dhe bibliotekat e funksioneve shpërndahen dhe instalohen në formën e paketave. Aktualisht, depoja përmban më shumë se 450 paketa, duke ofruar nga ndërfaqet grafike, aplikacionet multimediale dhe aplikacionet në rrjet deri te sistemet e menaxhimit të robotëve dhe përpunuesit që bazohen në mësimin e makinave. Paketat gjithashtu ofrojnë motorë për organizimin e ekzekutimit të programeve në gjuhët Lua, JerryScript, MicroPython, PikaScript dhe Rust (rtt_rust).

Karakteristikat e platformës:
- Mbështetje për arkitekturat:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (përkrah mikro-kontrollerët nga prodhues të tillë 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Ă« modulaire e zgjerueshme qĂ« lejon formimin e njĂ« ambienti 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 standardet e ndryshme të ndërfaqeve për zhvillimin e programeve, të tilla si POSIX, CMSIS, C++ API. Një rresht RTduino zhvillohet veçmas për përputhshmërinë me API dhe bibliotekat e projektit Arduino.
- Mundësia e zgjerimit përmes një sistemi paketash dhe komponentëve të lidhur.
- Mbështetje për zhvillimin e aplikacioneve për përpunimin e informacionit me performancë të lartë.
- Një sistem fleksibël menaxhimi të energjisë, i cili lejon mbështetje automatike për çaktivizimin e pajisjes dhe menaxhimin dinamik të tensionit dhe frekuencës në përputhje me ngarkesën.
- Mbështetje për pajisjet harduerike për enkriptimin dhe dekriptimin, ofrimi i bibliotekave me algoritma të ndryshëm kriptografikë.
- Një ndërfaqe e unifikuar për aksesin në pajisjet periferike dhe pajisjet e tjera.
- FS virtuale dhe disponueshmëria e drejtuesve për sisteme të tilla si FAT, UFFS, NFSv3, ROMFS dhe RAMFS.
- Stack protokollesh për TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etj.
- Sistemi i shpërndarjes dhe instalimit të distancuar të përditësimeve, mbështetje për enkriptimin dhe verifikimin me nënshkrim digjital, rinisjen e instalimeve që janë ndërprerë, rikuperimin pas dështimit, rikthimin e ndryshimeve, etj.
- Sistemi i modulet e ngarkueshëm dinamik të bërthamës, duke lejuar ndërtimin dhe zhvillimin e veçanta të komponenteve të bërthamës dhe ngarkimin e tyre dinamikisht kur është e nevojshme.
- Mbështetje për paketa të ndryshme të palëve të treta, si Yaffs2, SQLite, FreeModbus, Canopen, etj.
- Mundësia e kompilimit të drejtpërdrejtë të paketës BSP (Board Support Package) me komponente për mbështetjen e një platforme harduerike të caktuar dhe ngarkimin e saj në pllakat.
- Prania e emulatorit (BSP qemu-vexpress-a9), i cili lejon zhvillimin e aplikacioneve pa përdorimin e pllakave reale.
- Mbështetje për kompilatorë dhe mjete zhvillimi standarde si GCC, MDK Keil dhe IAR.
- Zhvillimi i mjedisit të integruar të zhvillimit RT-Thread Studio IDE, që lejon krijimin dhe debugging e aplikacioneve, ngarkimin e tyre në pllaka dhe menaxhimin e konfigurimeve. Plugins për zhvillimin e aplikacioneve për RT-Thread janë gjithashtu të disponueshme për Eclipse dhe VS Code.
- Prania e ndërfaqes konsolë Env, e cila thjeshton krijimin e projekteve dhe konfigurimin e ambientit.
Ndryshimet në publikimin e ri përfshijnë:
- NĂ« RT-Smart, njĂ« sistem operativ hibrid tĂ« bazuar nĂ« RT-Thread, qĂ« ndan aplikacionet nga bĂ«rthama, pĂ«rfshihet automatikisht mbĂ«shtetje pĂ«r mekanizmat epoll, eventfd, signalfd, timerfd dhe select. ĂshtĂ« implementuar njĂ« nĂ«n-sistem pĂ«r emulimin e terminaleve. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pajisjet DFZU2EG MPSoC dhe cv181x-riscv.
- Në RTduino, një shtresë për të siguruar kompatibilitetin me ekosistemin Arduino, është shtuar mbështetje për qarkun raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
- Komponentët e palëve të treta, të tillë si ssh, sftp, weston dhe vim, janë përmirësuar.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r qarkun 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 funksionimi i planifikuesve tĂ« detyrave dhe CPU-sĂ«. ĂshtĂ« shtuar njĂ« ndĂ«rfaqe pĂ«r tĂ« abstraguar planifikuesin rt_sched.
- ĂshtĂ« bĂ«rĂ« optimizimi i funksionimit nĂ« sistemet me shumĂ« bĂ«rthama.
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« lidhur trajtuesit me operacionet e alokimit tĂ« memories malloc.
- Për arkitekturat ARM64 dhe RV64 është implementuar mbështetje për gjurmimin e prapa (backtrace) të bërthamës.
- Po vazhdon kalimi në modelin e ri të shoferëve të pajisjeve.
- Në shoferët virtio qemu-virt64-aarch64 dhe qemu-virt64-riscv është shtuar mbështetje për SDL2.
- ĂshtĂ« shtuar njĂ« kornizĂ« pĂ«r zhvillimin e shoferĂ«ve clk.
- Në DFS është shtuar konfigurimi exfat. Bërthama tani ka kaluar në përdorimin e sistemit të skedarëve dfsv2.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r terminalet TTY.
- Në sistemin e hyrjes/daljes është shtuar mbështetje për flagjet O_DIRECT dhe O_SYNC.
- NĂ« implementimin 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ë implementuar funksioni rt_aspace_mremap_range.
- Në Libcpu është shtuar mbështetje për procesorët ARM Cortex-M85 dhe Cortex-R52.
Burimi: opennet.ru
