Është publikuar lëshimi i RT-Thread 5.0, një sistem operativ i kohës reale (RTOS) për pajisjet e internetit të الأشياء. Sistemi zhvillohet që nga viti 2006 nga një komunitet zhvilluesish kinez dhe aktualisht është portuar për pothuajse 200 platforma, çipa dhe mikrocontrolues të bazuar në arkitekturën x86, ARM, MIPS, C-SKY, Xtensa, ARC dhe RISC-V. Ndërtesa minimaliste e RT-Thread (Nano) kërkon vetëm 3 KB Flash dhe 1.2 KB RAM për të funksionuar. Për pajisjet IoT, të cilat nuk janë shumë të kufizuara në burime, ofrohet një version me funksionalitet të plotë, i cili mbështet menaxhimin e paketave, konfiguruesit, stakun rrjetësor, paketat me implementimin e ndërfaqes grafike, sistemet e kontrollit me zë, DB të shërbimeve rrjetësore dhe motorë për ekzekutimin e skripteve. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën Apache 2.0.
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).
- 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.

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).

Nga mundësitë e reja, të shtuara në versionin 5.0, mund të përshtaten përmirësimi i dukshëm në mbështetje të sistemeve me shumë bërthamë dhe shumë këndvishmërisht (për shembull, staku rrjetësor dhe sistemet e skedarëve janë përshtatur për funksionimin në mod si me shumë këndvishmëri, planifikuesi është ndarë në variante për sisteme me një bërthamë dhe SMP). Është shtuar implementimi i TLS (Thread Local Storage). Është përmirësuar mbështetja për çipet Cortex-A. Mbështetja për sistemet 64-bit është përmirësuar ndjeshëm (staku TCP/IP dhe sistemet e skedarëve janë vërtetuar për sistemet 64-bit). Janëintegruar komponentët për menaxhimin e kujtesës Flash. Ka një riparim të mjeteve për krijimin e drejtuesve.
Burimi: opennet.ru


