Sistemul de operare în timp real RT-Thread 5.3 este disponibil

A fost publicată versiunea RT-Thread 5.3, un sistem de operare în timp real (RTOS) pentru dispozitivele Internet of Things. Sistemul este dezvoltat din 2006 de o comunitate de dezvoltatori chinezi și este în prezent portat pentru 155 de plăci, cipuri și microcontrolere bazate pe arhitecturi x86, ARM, MIPS, C-SKY, Xtensa, ARC și RISC-V. Versiunea minimalistă RT-Thread (Nano) necesită pentru funcționare doar 3 KB Flash și 1.2 KB RAM. Pentru dispozitivele IoT, care nu sunt foarte limitate în resurse, este disponibilă o versiune complet funcțională, care suportă gestionarea pachetelor, configuratoare, stiva de rețea, pachete cu implementări ale interfeței grafice, sisteme de control vocal, baze de date, servicii de rețea și motoare pentru executarea scripturilor. Codul este scris în C și este distribuit sub licența Apache 2.0.

Sistemul de operare este format din trei straturi de bază:

  • Nucleul, care asigură executarea sarcinilor în timp real. Nucleul oferă primitive de bază universale, acoperind domenii precum gestionarea blocărilor și sincronizarea datelor, planificarea sarcinilor, gestionarea firului, prelucrarea semnalelor, cozi de mesaje, gestionarea temporizatorului, gestionarea memoriei. Caracteristicile specifice hardware-ului sunt implementate la nivelul libcpu și BSP, care includ driverele necesare și codul pentru suportul CPU.
  • Componentele și serviciile care funcționează deasupra nucleului și oferă astfel de abstracții precum sistemul virtual de fișiere, sistemul de gestionare a excepțiilor, stocarea în format cheie/valoare, interfața de linie de comandă FinSH, stiva de rețea (LwIP) și cadrele de rețea, biblioteci pentru suportul dispozitivelor, subsistemul audio, stiva wireless, componente pentru suport Wi-Fi, LoRa, Bluetooth, 2G/4G. Arhitectura modulară permite conectarea componentelor și serviciilor în funcție de sarcinile și resursele hardware disponibile.
  • Pachete de programe. Componente de software generice și biblioteci de funcții sunt distribuite și instalate sub formă de pachete. În prezent, depozitul include peste 450 de pachete, oferind de la interfețe grafice, aplicații multimedia și aplicații de rețea la sisteme de control al roboților și manipulatoare bazate pe învățare automată. Pachetele vin de asemenea echipate cu motoare pentru execuția programelor în limbaje precum Lua, JerryScript, MicroPython, PikaScript și Rust (rtt_rust).

Caracteristicile platformei:

  • Suport pentru arhitecturi:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (suportate de microcontrolere de la producători precum 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, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Arhitectură modulară extensibilă, care permite crearea unui mediu adecvat pentru sisteme cu resurse limitate (cerințe minime — 3 KB Flash și 1.2 KB RAM).
  • Suport pentru diverse interfețe standard pentru dezvoltarea de programe, cum ar fi POSIX, CMSIS, API C++. Se dezvoltă separat un strat RTduino pentru compatibilitate cu API-urile și bibliotecile proiectului Arduino.
  • Posibilitatea de extindere prin intermediul sistemului de pachete și componente conectabile.
  • Suport pentru dezvoltarea aplicațiilor pentru procesarea informațiilor de înaltă performanță.
  • Un sistem flexibil de gestionare a energiei, care permite trecerea automată a dispozitivului în modul de somn și gestionarea dinamică a tensiunii și frecvenței în funcție de sarcină.
  • Suport pentru hardware destinat criptării și decriptării, furnizând biblioteci cu diverse algoritmi criptografici.
  • Interfață unificată pentru accesul la dispozitivele periferice și echipamentele suplimentare.
  • FS virtual și disponibilitatea driverelor pentru FS, cum ar fi FAT, UFFS, NFSv3, ROMFS și RAMFS.
  • Stivă de protocoale pentru TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M etc.
  • Sistem de livrare și instalare la distanță a actualizărilor, care susține criptarea și verificarea semnăturilor digitale, reluarea instalării întrerupte, recuperarea după probleme, revenirea la modificări etc.
  • Sistemul de module dinamice ale nucleului, care permite construirea și dezvoltarea separată a componentelor nucleului, și încărcarea lor dinamică atunci când este necesar.
  • Suport pentru diverse pachete de terță parte, cum ar fi Yaffs2, SQLite, FreeModbus, Canopen etc.
  • Capacitatea de a compila direct un pachet BSP (Board Support Package) cu componente pentru suportul unei anumite platforme hardware și încărcarea acestuia pe placă.
  • Dispunerea unui emulator (BSP qemu-vexpress-a9), care permite dezvoltarea aplicațiilor fără utilizarea de plăci reale.
  • Suport pentru compilatoare și instrumente de dezvoltare standard, cum ar fi GCC, MDK Keil și IAR.
  • Dezvoltarea propriei medii integrate de dezvoltare RT-Thread Studio IDE, care permite crearea și depanarea aplicațiilor, încărcarea acestora pe plăci, gestionarea configurațiilor. Plugin-uri pentru dezvoltarea aplicațiilor RT-Thread sunt de asemenea disponibile pentru Eclipse și VS Code.
  • Dispunerea unei interfețe de consolă Env, care simplifică crearea de proiecte și configurarea mediului.

Printre modificările din noua versiune:

  • A fost extins suportul pentru dezvoltarea de componente în limbajul Rust. Au fost adăugate extensii Rust pentru fire, mutex-uri, semaforuri, cozi de mesaje, precum și operații cu memorie, timp și fișiere. Au fost implementate componente pentru integrarea cu SCons și Cargo. S-a asigurat detectarea automată a platformelor țintă ARM, AArch64 și RISC-V. Au fost adăugate macro-uri procedurale pentru inițializarea și înregistrarea comenzilor.
  • Pentru microcontrolerele Cortex-M a fost inclus suportul pentru standardul Open Firmware cu descrierea perifericilor prin Device Tree.
  • A fost adăugat suport pentru VirtIO 1.2, având posibilitatea de a utiliza cozi de pachete, transporturi MMIO/PCI și sincronizare DMA. Au fost adăugate drivere VirtIO pentru 9P, crypto, RNG, SCMI și SCSI. Driverele VirtIO pentru rețea, dispozitive de stocare, consolă, dispozitive de intrare și GPU au fost actualizate.
  • A fost adăugat cadrul DVFS (Dynamic Voltage and Frequency Scaling) pentru gestionarea dinamică a frecvenței CPU și a dispozitivelor. A fost asigurată integrarea cu firmware-ul ARM SCMI pentru gestionarea consumului de energie. A fost îmbunătățită gestionarea ventilatoarelor.
  • A fost adăugat suport pentru medii TEE (Trusted Execution Environment) și mecanismul de schimb de mesaje RPMSG (Remote Processor Messaging).
  • A fost implementat suportul pentru socket-uri Unix.
  • A fost adăugat suport pentru mecanisme de securitate a rețelelor wireless WPA3, EA (Enterprise Authentication), WAPI, OWE și DPP.
  • A fost adăugat suport pentru protocolul de sincronizare a timpului PTP (Precision Time Protocol).
  • A fost adăugat cadrul Clock Time pentru gestionarea timpului, susținând temporizatoare de înaltă precizie și sincronizarea timpului din mai multe surse. Noul cadru a înlocuit componentele anterioare ktime, cputime și hwtimer.
  • A fost implementat sistemul de fișiere 9PFS, utilizat pentru schimbul de fișiere între mediul gazdă și mașinile virtuale.
  • În implementarea proceselor ușoare lwP (Lightweight Process) a fost adăugată suport pentru arhitectura ARM și a fost inclus un mecanism de suport vDSO (virtual dynamic shared object), care permite mutarea handler-elor din nucleu în spațiul utilizatorului, evitând astfel schimbările de context.
  • În nucleu a fost implementat suport pentru operații atomice de 8 și 16 biți.
  • A fost adăugat suport pentru multiprocesare simetrică (SMP) pentru procesoarele RISC-V din seria XuanTie C/R și emulatorul QEMU virt64.
  • Stiva USB CherryUSB 1.6.1 a fost actualizată.
  • Au fost adăugate noi drivere DM (Device Manager) pentru UFS, AHCI, NVMe, Ethernet, Intel HDA, joystickuri și ecrane tactile.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster