Dostupan je operacijski sustav stvarnog vremena RT-Thread 5.3

Objavljen je izdanak RT-Thread 5.3, operativnog sustava u stvarnom vremenu (RTOS) za uređaje interneta stvari. Sustav se razvija od 2006. godine, a podržava ga zajednica kineskih programera i trenutno je portiran za 155 platformi, čipova i mikrokontrolera temeljenih na arhitekturama x86, ARM, MIPS, C-SKY, Xtensa, ARC i RISC-V. Minimalistička verzija RT-Thread (Nano) zahtijeva za rad samo 3 KB Flash-a i 1,2 KB RAM-a. Za IoT uređaje koji nisu strogo ograničeni resursima, dostupna je punokrvna verzija koja podržava upravljanje paketima, konfiguratore, mrežni stog, pakete s implementacijom grafičkog sučelja, sustave glasovnog upravljanja, baze podataka, mrežne usluge i motore za izvođenje skripti. Kod je napisan na jeziku C i distribuira se pod licencom Apache 2.0.

Operativni sustav se sastoji od tri osnovna sloja:

  • Jezgro, koje osigurava izvršavanje zadataka u realnom vremenu. Jezgro pruža univerzalne osnovne primitive koji pokrivaju područja kao što su upravljanje zaključavanjima i sinkronizacijom podataka, planiranje zadataka, upravljanje nitima, obrada signala, redovi poruka, upravljanje tajmerima, upravljanje memorijom. Specifične karakteristike za hardver implementirane su na razini libcpu i BSP, koje uključuju potrebne drajvere i kod za podršku CPU-u.
  • Komponente i usluge koje rade iznad jezgra i nude apstrakcije poput virtualnog datotečnog sustava, sustava za obradu iznimaka, pohranu u formatu ključ/vrijednost, sučelje komandne linije FinSH, mrežni stek (LwIP) i mrežne okvire, biblioteke za podršku uređajima, zvučnu podsustavu, bežični stek, komponente za podršku Wi-Fi, LoRa, Bluetooth, 2G/4G. Modularna arhitektura omogućuje povezivanje komponenti i usluga ovisno o vašim zadacima i dostupnim hardverskim resursima.
  • Paketi softvera. Programske komponente opće namjene i biblioteke funkcija distribuiraju se i instaliraju u obliku paketa. Trenutno repozitorij uključuje više od 450 paketa koji nude sve, od grafičkih sučelja, multimedijskih aplikacija i mrežnih aplikacija do sustava upravljanja robotima i obrađivača temeljenih na strojnom učenju. U paketima se također isporučuju engine za izvršavanje programa na jezicima Lua, JerryScript, MicroPython, PikaScript i Rust (rtt_rust).

Značajke platforme:

  • Podrška arhitekturama:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podržavaju se 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 (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Proširiva modularna arhitektura koja omogućuje stvaranje okruženja pogodnog za sustave s ograničenim resursima (minimalni zahtjevi — 3 KB Flash i 1.2 KB RAM).
  • Podrška različitim standardnim sučeljima za razvoj programa, poput POSIX, CMSIS, C++ API. Odvojeno se razvija sloj RTduino za kompatibilnost s API-jem i bibliotekama projekta Arduino.
  • Mogućnost proširenja putem sustava paketa i priključnih komponenti.
  • Podrška razvoju aplikacija za visokoprocesnu obradu podataka.
  • Fleksibilan sustav upravljanja napajanjem koji automatski prebacuje uređaj u stanje mirovanja i dinamički upravlja naponom i frekvencijom u zavisnosti od opterećenja.
  • Podrška za hardverska rješenja za enkripciju i dekripciju, pružanje biblioteka s različitim kriptografskim algoritmima.
  • Unified interface for accessing peripheral devices and additional equipment.
  • Virtualni FS i prisutnost upravljačkih programa za sustave datoteka kao što su FAT, UFFS, NFSv3, ROMFS i RAMFS.
  • Protokolni stog za TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M i slično.
  • Sistem udaljene isporuke i instalacije ažuriranja, koji podržava enkripciju i verifikaciju putem digitalnog potpisa, nastavak prekinutih instalacija, oporavak od smetnji, vraćanje promena i slično.
  • Sustav dinamički učitavanih jezgri modula koji omogućuje odvojeno prikupljanje i razvoj jezgrenih komponenti te njihovo dinamičko učitavanje kad je to potrebno.
  • Podrška za razne vanjske pakete, poput Yaffs2, SQLite, FreeModbus, Canopen i slično.
  • Mogućnost izravne kompilacije BSP paketa (Board Support Package) s komponentama za podršku određenoj hardverskoj platformi i njegovog učitavanja na ploču.
  • Postojanje emulatore (BSP qemu-vexpress-a9) koji omogućuje razvoj aplikacija bez upotrebe stvarnih ploča.
  • Podrška za standardne kompajlere i alate za razvoj, poput GCC, MDK Keil i IAR.
  • Razvoj vlastitog integriranog okruženja za razvoj RT-Thread Studio IDE, koje omogućuje kreiranje i debagiranje aplikacija, njihovo učitavanje na ploče i upravljanje postavkama. Plugini za razvoj programa za RT-Thread također su dostupni za Eclipse i VS Code.
  • Postojanje konzolnog sučelja Env, koje pojednostavljuje stvaranje projekata i postavljanje okruženja.

Među promjenama u novom izdanju:

  • Proširena je podrška za razvoj komponenti na jeziku Rust. Dodane su Rust omotnice za niti, mutexe, semafore, poručničke redove, kao i operacije s memorijom, vremenom i datotekama. Implementirane su komponente za integraciju s SCons i Cargo. Osigurano je automatsko prepoznavanje ciljanih platformi ARM, AArch64 i RISC-V. Dodani su proceduralni makroi za inicijalizaciju i registraciju naredbi.
  • Za mikrokontrolere Cortex-M uključena je podrška za standard Open Firmware s opisom periferije putem Device Tree.
  • Dodana je podrška za VirtIO 1.2 s mogućnošću korištenja poručničkih redova, MMIO/PCI transporta i DMA sinkronizacije. Dodani su VirtIO drajveri 9P, crypto, RNG, SCMI i SCSI. Ažurirani su VirtIO drajveri za mrežne, blok uređaje, konzole, ulazne uređaje i GPU.
  • Dodana je DVFS (Dynamic Voltage and Frequency Scaling) framework za dinamičko upravljanje frekvencijom CPU-a i uređaja. Osigurana je integracija s ARM SCMI firmverom za upravljanje potrošnjom energije. Poboljšano je upravljanje hladnjacima.
  • Dodana je podrška za TEE okruženja (Trusted Execution Environment) i mehanizam razmjene poruka RPMSG (Remote Processor Messaging).
  • Implementirana je podrška za Unix sokete.
  • Dodana je podrška za mehanizme zaštite bežičnih mreža WPA3, EA (Enterprise Authentication), WAPI, OWE i DPP.
  • Dodana je podrška za protokol sinkronizacije vremena PTP (Precision Time Protocol).
  • Dodana je Clock Time framework za rad s vremenom, koja podržava visoko precizne tajmere i sinkronizaciju vremena iz više izvora. Novi framework došao je umjesto ranije korištenih komponenti ktime, cputime i hwtimer.
  • Implementiran je 9PFS datotečni sustav koji se koristi za razmjenu datoteka između domaćinskog okruženja i virtualnih strojeva.
  • U implementaciji laganih procesa lwP (Laganih Procesa) dodana je podrška za ARM arhitekturu i dodat je mehanizam vDSO (virtualni dinamički zajednički objekt) koji omogućuje premještanje obrađivača iz jezgre u korisnički prostor i izbjegavanje promjena konteksta.
  • U jezgru je implementirana podrška za 8- i 16-bitne atomske operacije.
  • Dodana je podrška za simetričnu multiprocesorsku obradu (SMP) za RISC-V procesore serije XuanTie C/R i emulator QEMU virt64.
  • Ažuriran je USB stog CherryUSB 1.6.1.
  • Dodani su novi DM upravljački programi (Device Manager) za UFS, AHCI, NVMe, Ethernet, Intel HDA, gamepade i zaslone osjetljive na dodir.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster