Saadaval on RT-Thread 5.0 reaalajas operatsioonisüsteem

Avaldatud on asjade Interneti seadmete reaalajas operatsioonisüsteemi (RTOS) RT-Thread 5.0 väljalase. Süsteemi on alates 2006. aastast välja töötanud Hiina arendajate kogukond ja see on praegu üle viidud peaaegu 200 plaadile, kiibile ja mikrokontrollerile, mis põhinevad x86, ARM, MIPS, C-SKY, Xtensa, ARC ja RISC-V arhitektuuridel. Minimalistlik RT-Thread (Nano) vajab töötamiseks vaid 3 KB Flashi ja 1.2 KB RAM-i. IoT-seadmete jaoks, mis ei ole väga piiratud ressurssidega, pakutakse täisfunktsionaalsusega versiooni, mis toetab paketihaldust, konfiguraatoreid, võrgupinu, graafilise liidese juurutusega pakette, hääljuhtimissüsteeme, DBMS-i, võrguteenuseid ja käivitamismootoreid. skriptid. Kood on kirjutatud C-keeles ja levitatakse Apache 2.0 litsentsi all.

Platvormi omadused:

  • Arhitektuuri tugi:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (toetatud on selliste tootjate mikrokontrollerid nagu 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.
  • Laiendatav modulaarne arhitektuur, mis võimaldab luua piiratud ressurssidega süsteemidele sobiva keskkonna (minimaalsed nõuded - 3 KB Flash ja 1.2 KB RAM).
  • Programmide arendamiseks mõeldud erinevate standardliideste tugi, näiteks POSIX, CMSIS, C++ API. RTduino kihti arendatakse eraldi, et see ühilduks Arduino projekti API ja raamatukogudega.
  • Laiendamise võimalus pakettide ja pistikkomponentide süsteemi kaudu.
  • Tugi rakenduste arendamiseks suure jõudlusega teabetöötluseks.
  • Paindlik toitehaldussüsteem, mis võimaldab lülitada seadme automaatselt puhkerežiimi ning dünaamiliselt juhtida pinget ja sagedust sõltuvalt koormusest.
  • Riistvaraline tugi krüpteerimiseks ja dekrüpteerimiseks, erinevate krüptoalgoritmidega raamatukogude pakkumine.
  • Ühtne liides juurdepääsuks välisseadmetele ja lisaseadmetele.
  • Virtuaalne failisüsteem ja draiverite kättesaadavus failisüsteemidele nagu FAT, UFFS, NFSv3, ROMFS ja RAMFS.
  • Protokollipakk TCP/IP, Etherneti, Wi-Fi, Bluetoothi, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M jne jaoks.
  • Süsteem värskenduste kaugedastamiseks ja installimiseks, mis toetab krüptimist ja digitaalallkirja abil kontrollimist, katkestatud installi jätkamist, tõrkest taastumist, muudatuste tagasivõtmist jne.
  • Dünaamiliselt laaditud tuumamoodulite süsteem, mis võimaldab kerneli komponente eraldi ehitada ja arendada ning vajadusel neid dünaamiliselt laadida.
  • Toetab erinevaid kolmanda osapoole pakette, nagu Yaffs2, SQLite, FreeModbus, Canopen jne.
  • Võimalus otse kompileerida BSP-pakett (Board Support Package) koos komponentidega, et toetada konkreetset riistvaraplatvormi, ja laadida see tahvlile.
  • Emulaatori (BSP qemu-vexpress-a9) saadavus, mis võimaldab arendada rakendusi pärisplaate kasutamata.
  • Tugi tavalistele kompilaatoritele ja arendustööriistadele, nagu GCC, MDK Keil ja IAR.
  • Meie enda integreeritud arenduskeskkonna RT-Thread Studio IDE arendus, mis võimaldab luua ja siluda rakendusi, laadida neid plaatidele ja hallata sätteid. RT-Threadi arenduspluginad on saadaval ka Eclipse'i ja VS Code'i jaoks.
    Saadaval on RT-Thread 5.0 reaalajas operatsioonisüsteem
  • Env konsooli liidese olemasolu, mis lihtsustab projektide loomist ja keskkonna seadistamist.
    Saadaval on RT-Thread 5.0 reaalajas operatsioonisüsteem

Operatsioonisüsteem koosneb kolmest põhikihist:

  • Kernel, mis võimaldab ülesandeid reaalajas täita. Kernel pakub üldisi põhiprimitiive, mis hõlmavad selliseid valdkondi nagu lukuhaldus ja andmete sünkroonimine, ülesannete ajastamine, lõimede haldamine, signaalide haldamine, sõnumite järjekorda seadmine, taimerihaldus ja mäluhaldus. Riistvaraspetsiifilisi funktsioone rakendatakse libcpu ja BSP tasemel, mis sisaldavad protsessori toetamiseks vajalikke draivereid ja koodi.
  • Kerneli peal töötavad komponendid ja teenused, mis pakuvad abstraktsioone, nagu virtuaalne failisüsteem, erandite käsitlemise süsteem, võtme/väärtuse salvestusruum, FinSH käsurea liides, võrgupinn (LwIP) ja võrguraamistikud, seadme tugiteegid, heli alamsüsteem, juhtmevaba virn, komponendid, mis toetavad Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulaarne arhitektuur võimaldab teil ühendada komponente ja teenuseid sõltuvalt teie ülesannetest ja saadaolevatest riistvararessurssidest.
  • Tarkvarapaketid. Üldotstarbelised tarkvarakomponendid ja funktsiooniteegid levitatakse ja installitakse pakettide kujul. Hoidlas on praegu rohkem kui 450 paketti, mis pakuvad kõike alates graafilistest liidestest, multimeediarakendustest ja võrgurakendustest kuni roboti juhtimissüsteemide ja masinõppepõhiste protsessoriteni. Paketid pakuvad ka mootoreid programmide täitmise korraldamiseks keeltes Lua, JerryScript, MicroPython, PikaScript ja Rust (rtt_rust).

Saadaval on RT-Thread 5.0 reaalajas operatsioonisüsteem

Versioonis 5.0 lisatud uutest funktsioonidest võime märgata mitmetuumaliste ja mitme keermega süsteemide toe olulist paranemist (näiteks võrgupinn ja failisüsteemid on kohandatud mitme lõimega režiimis töötamiseks, planeerija on jagatud ühetuumaliste süsteemide ja SMP valikuteks). Lisatud on TLS (Thread Local Storage) juurutus. Täiustatud tugi Cortex-A kiipidele. Oluliselt täiustatud tugi 64-bitistele süsteemidele (64-bitiste süsteemide jaoks on kontrollitud TCP/IP pinu ja failisüsteemid). Välkmälu halduskomponendid on integreeritud. Draiverite loomise tööriistakomplekt on ümber kujundatud.

Allikas: opennet.ru

Lisa kommentaar