Dostupan je RT-Thread 5.3 operativni sistem u realnom vremenu

RT-Thread 5.3, operativni sistem za rad u realnom vremenu (RTOS) za uređaje Interneta stvari, je objavljen. Razvijan od 2006. godine od strane zajednice kineskih programera, sada je portiran na 155 ploča, čipova i mikrokontrolera zasnovanih na x86, ARM, MIPS, C-SKY, Xtensa, ARC i RISC-V arhitekturama. Minimalistička verzija RT-Thread (Nano) zahtijeva samo 3 KB Flash memorije i 1.2 KB RAM memorije. Za IoT uređaje sa neograničenim ograničenjima resursa, dostupna je potpuno funkcionalna verzija koja podržava upravljanje paketima, konfiguratore, mrežni stek, GUI pakete, sisteme za glasovnu kontrolu, DBMS, mrežne usluge i mehanizme za skriptiranje. Kod je napisan u C-u i distribuiran pod Apache 2.0 licencom.

Operativni sistem se sastoji od tri osnovna sloja:

  • Kernel koji omogućava izvršavanje zadataka u realnom vremenu. Kernel pruža generičke primitive jezgre koji pokrivaju područja kao što su upravljanje zaključavanjem i sinhronizacija podataka, raspoređivanje zadataka, upravljanje nitima, rukovanje signalima, red poruka, upravljanje tajmerom i upravljanje memorijom. Karakteristike specifične za hardver implementirane su na nivoima libcpu i BSP, što uključuje neophodne drajvere i kod za podršku CPU-u.
  • Komponente i usluge koje se pokreću na vrhu kernela i nude apstrakcije kao što su virtuelni sistem datoteka, sistem za obradu izuzetaka, skladište ključeva/vrednosti, interfejs komandne linije FinSH, mrežni stog (LwIP) i mrežni okviri, biblioteke za podršku uređaja, audio podsistem, bežični stack, komponente za podršku Wi-Fi, LoRa, Bluetooth, 2G/4G. Modularna arhitektura vam omogućava da povežete komponente i usluge u zavisnosti od vaših zadataka i dostupnih hardverskih resursa.
  • Softverski paketi. Softverske komponente opšte namjene i biblioteke funkcija distribuiraju se i instaliraju u obliku paketa. Repozitorijum trenutno uključuje više od 450 paketa, nudeći sve od grafičkih interfejsa, multimedijalnih aplikacija i mrežnih aplikacija do robotskih kontrolnih sistema i procesora zasnovanih na mašinskom učenju. Paketi također pružaju motore za organiziranje izvršavanja programa na jezicima Lua, JerryScript, MicroPython, PikaScript i Rust (rtt_rust).

Karakteristike platforme:

  • Podrška za arhitekturu:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podržani su mikrokontroleri proizvođača kao što su 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 (SINOPSI)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Proširiva modularna arhitektura koja vam omogućava da kreirate okruženje pogodno za sisteme sa ograničenim resursima (minimalni zahtevi - 3 KB Flash i 1.2 KB RAM).
  • Podrška za različite standardne interfejse za razvoj programa, kao što su POSIX, CMSIS, C++ API. RTduino sloj se razvija zasebno radi kompatibilnosti sa Arduino projektnim API-jem i bibliotekama.
  • Mogućnost proširenja kroz sistem paketa i plug-in komponenti.
  • Podrška za razvoj aplikacija za obradu informacija visokih performansi.
  • Fleksibilni sistem upravljanja napajanjem koji vam omogućava da automatski stavite uređaj u stanje mirovanja i dinamički kontrolišete napon i frekvenciju u zavisnosti od opterećenja.
  • Hardverska podrška za šifrovanje i dešifrovanje, obezbeđivanje biblioteka sa različitim kriptografskim algoritmima.
  • Jedinstveni interfejs za pristup perifernim uređajima i dodatnoj opremi.
  • Virtuelni sistem datoteka i dostupnost drajvera za sisteme datoteka kao što su FAT, UFFS, NFSv3, ROMFS i RAMFS.
  • Protokolni stek za TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, itd.
  • Sistem za daljinsku isporuku i instalaciju ažuriranja koji podržava šifriranje i verifikaciju pomoću digitalnog potpisa, nastavak prekinute instalacije, oporavak od kvara, vraćanje promjena, itd.
  • Sistem dinamički učitanih modula kernela koji vam omogućava da zasebno gradite i razvijate komponente kernela i dinamički ih učitavate kada je to potrebno.
  • Podržava različite pakete trećih strana, kao što su Yaffs2, SQLite, FreeModbus, Canopen, itd.
  • Mogućnost direktnog kompajliranja BSP paketa (Board Support Package) sa komponentama koje podržavaju određenu hardversku platformu i učitavanja na ploču.
  • Dostupnost emulatora (BSP qemu-vexpress-a9), koji vam omogućava da razvijate aplikacije bez korištenja pravih ploča.
  • Podrška za uobičajene kompajlere i razvojne alate kao što su GCC, MDK Keil i IAR.
  • Razvoj našeg sopstvenog integrisanog razvojnog okruženja RT-Thread Studio IDE, koje vam omogućava da kreirate i otklanjate greške u aplikacijama, učitavate ih na ploče i upravljate postavkama. Razvojni dodaci za RT-Thread su takođe dostupni za Eclipse i VS Code.
  • Prisustvo interfejsa Env konzole, koji pojednostavljuje kreiranje projekata i podešavanje okruženja.

Među promjenama u novom izdanju:

  • Proširena je podrška za razvoj komponenti u Rust jeziku. Dodana su Rust povezivanja za niti, mutekse, semafore, redove poruka, kao i operacije s memorijom, vremenom i datotekama. Implementirane su komponente za integraciju sa SCons i Cargo. Sada je dostupna automatska detekcija ciljnih platformi ARM, AArch64 i RISC-V. Dodani su proceduralni makroi za inicijalizaciju i registraciju naredbi.
  • Za Cortex-M mikrokontrolere omogućena je podrška za Open Firmware standard s opisom periferije putem Device Tree-a.
  • Dodana je podrška za VirtIO 1.2 s mogućnošću korištenja redova čekanja paketa, MMIO/PCI transporta i DMA sinhronizacije. Dodani su VirtIO drajveri za 9P, kripto, RNG, SCMI i SCSI. Ažurirani su VirtIO drajveri za mrežu, blok uređaje, konzolu, ulazne uređaje i GPU.
  • Dodan je DVFS (Dynamic Voltage and Frequency Scaling) okvir za dinamičko upravljanje frekvencijom CPU-a i uređaja. Omogućena je integracija sa ARM SCMI firmverom za upravljanje napajanjem. Poboljšano je upravljanje ventilatorima.
  • Dodana je podrška za TEE (Trusted Execution Environment) okruženja i mehanizam razmjene poruka RPMSG (Remote Processor Messaging).
  • Implementirana je podrška za Unix sockete.
  • Dodata je podrška za mehanizme sigurnosti bežične mreže WPA3, EA (Enterprise Authentication), WAPI, OWE i DPP.
  • Dodana je podrška za PTP (Precision Time Protocol) protokol sinhronizacije vremena.
  • Dodan je Clock Time framework za rad s vremenom, podržavajući visokoprecizne tajmere i sinhronizaciju vremena između više izvora. Novi framework zamjenjuje prethodno korištene komponente ktime, cputime i hwtimer.
  • Implementiran je 9PFS sistem datoteka koji se koristi za razmjenu datoteka između host okruženja i virtuelnih mašina.
  • Implementacija laganih procesa (lwP) sada podržava ARM arhitekturu i dodaje podršku za mehanizam vDSO (virtualni dinamički dijeljeni objekt), koji omogućava premještanje rukovatelja iz kernela u korisnički prostor i izbjegavanje promjena konteksta.
  • Jezgro implementira podršku za 8-bitne i 16-bitne atomske operacije.
  • Dodata je podrška za simetrično multiprocesiranje (SMP) za XuanTie C/R seriju RISC-V procesora i QEMU virt64 emulator.
  • CherryUSB USB stek ažuriran na verziju 1.6.1.
  • Dodani su novi DM drajveri (Upravitelj uređaja) za UFS, AHCI, NVMe, Ethernet, Intel HDA, džojstike i ekrane osjetljive na dodir.

izvor: opennet.ru

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster