Ilmunen RT-Thread 5.0 väljaanne, reaalajas operatsioonisüsteem (RTOS) asjade interneti seadmetele. Süsteem on alates 2006. aastast arendatud Hiina arendajate kogukonna poolt ja on praeguseks porteeritud peaaegu 200 platvormile, kiibile ja mikrokontrollerile, mis põhineb arhitektuuridel x86, ARM, MIPS, C-SKY, Xtensa, ARC ja RISC-V. RT-Thread (Nano) minimalistik versioon vajab tööks vaid 3 KB Flashi ja 1,2 KB RAM-i. IoT-seadmete jaoks, mis ei ole ressursside osas tugevalt piiratud, on saadaval täisfunktsionaalne versioon, mis toetab paketihaldust, konfigureerijaid, võrgu pungade, graafilise kasutajaliidese teoste, hääljuhtimisüsteemide, andmebaaside, võrguteenuste ja skriptide esitamise mootoreid. Kood on kirjutatud C-keeles ja levitatakse Apache 2.0 litsentsi all.
Platvormi omadused:
- Toetatud arhitektuurid:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (toetatakse mikroprotsessoreid tootjatelt nagu ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevice, 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.
- Laienev moodulaarne arhitektuur, mis võimaldab luua keskkonda, mis sobib piiratud ressurssidega süsteemidele (minimaalsed nõuded — 3 KB Flash ja 1.2 KB RAM).
- Toetatakse erinevaid standardliideseid programmide arendamiseks, näiteks POSIX, CMSIS, C++ API. Eraldi arendatakse RTduino kihti, et tagada ühilduvus Arduino projekti API ja teekidega.
- Võimekus laiendada pakettide ja ühendatavate komponente süsteemi kaudu.
- Toetatakse rakenduste arendust kõrge jõudlusega andmetöötluseks.
- Paindlik energiahallussüsteem, mis võimaldab seadme automaatset üleviimist unerežiimi ja dünaamiliselt juhtida pinget ja sagedust vastavalt koormusele.
- Toetatakse riistvara krüpteerimist ja dekodeerimist, pakkudes teeke erinevate krüptograafiliste algoritmidega.
- Ühtne liides juurdepääsuks periferiaseadmetele ja lisaseadmetele.
- Virtuaalne failisüsteem ja draiverite olemasolu selliste failisüsteemide jaoks nagu FAT, UFFS, NFSv3, ROMFS ja RAMFS.
- Protokollide virn TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M jne.
- Kauguuenduste ja paigalduse süsteem, mis toetab krüpteerimist ja digitaalset allkirja kinnitust, katkenud paigalduse jätkamist, taastumist riketest, muudatuste tagasiviimist jne.
- Dünaamilistel kerneli lisamoodulitel põhinev süsteem, mis võimaldab eraldi kokku panna ja arendada kerneli komponente ning neid dünaamiliselt laadida vastavalt vajadusele.
- Migite kolmandate osapoolte pakettide, näiteks Yaffs2, SQLite, FreeModbus, Canopen jne toetamine.
- Omandatakse otse BSP-paketi (Board Support Package) kompileerimise võimalus, et toetada teatud riistvaraplatvorme ja laadida see plaadile.
- Saadaval on emulaator (BSP qemu-vexpress-a9), mis võimaldab rakenduste arendamist ilma reaalse plaatideta.
- Toetatakse standardseid kompilaatoreid ja arendustööriistu nagu GCC, MDK Keil ja IAR.
- Arendatakse enda integreeritud arenduskeskkonda RT-Thread Studio IDE, mis võimaldab luua ja tõrkeotsida rakendusi, laadida neid plaatidele ja hallata seadistusi. RT-Threadi rakenduste arendamiseks on pluginaid ka Eclipse'i ja VS Code'i jaoks.

- Kasutuses on Env konsooliliides, mis lihtsustab projektide loomist ja keskkonna seadistamist.

Operatsioonisüsteem koosneb kolmest põhikihtidest:
- Tuumik, mis tagab ülesannete täitmise reaalaegses režiimis. Tuumik peab silmas universaalseid põhielemente, mis katab valdkondi nagu lukustamise juhtimine ja andmete sünkroonimine, ülesannete planeerimine, niidihaldus, signaalide töötlemine, sõnumijärjekorrad, ajastajate juhtimine, mälu juhtimine. Riistvara-spetsiifilisi omadusi on rakendatud libcpu ja BSP tasemel, mis sisaldab vajalikke draivereid ja koodi CPU toe jaoks.
- Komponendid ja teenused, mis töötavad tuumiku kohal ja pakuvad selliseid abstraktsioone nagu virtuaalne failisüsteem, erandite töötlemise süsteem, võtme-väärtuse formaadis hoidmine, käsurea liides FinSH, võrgu stek (LwIP) ja võrgu raamistikud, seadmete toetamiseks mõeldud raamatukogud, heliallikasüsteem, traadita stek, komponentide toekomplekt Wi-Fi, LoRa, Bluetooth, 2G/4G toeks. Moodulaarne arhitektuur võimaldab komponente ja teenuseid ühendada, olenevalt teie ülesannetest ja olemasolevatest riistvararessurssidest.
- Programmide paketid. Üldotstarbelised tarkvarakomponendid ja funktsioonide teegid levitatakse ja installitakse pakettide kujul. Käesoleval hetkel sisaldab reposteoorium rohkem kui 450 paketti, mis pakuvad lahendusi alates graafilistest liidestest, multimeedia rakendustest ja võrgurakendustest kuni robotite juhtimissüsteemide ja masinõppel põhinevate töötlejate juurde. Pakettidega tarnitakse ka mootoreid programmide käitamiseks keeles Lua, JerryScript, MicroPython, PikaScript ja Rust (rtt_rust).

Uute funktsioonide hulgas, mis on lisatud versioonile 5.0, on märkimisväärne parandamine mitme sisendi ja mitme lõime toetuses (näiteks on mitme lõime režiimis kohandatud võrgu pungade ja failisüsteemid, plaanija jaguneb ühetuumaliste süsteemide ja SMP variantide vahel). Lisatud TLS (Thread Local Storage) rakendamine. Parandatud Cortex-A kiipide toetust. Oluliselt on paranenud 64-bitiste süsteemide toetust (TCP/IP pinu ja failisüsteemid on 64-bitistele süsteemidele kinnitatud). Integreeritud Flash-mälu haldustooted. Driiverite loomiseks mõeldud tööriistakomplekt on ümber kujundatud.
Allikas: opennet.ru


