A fost publicat sistemul de operare în timp real RT-Thread 5.1

După un an de dezvoltare, versiunea RT-Thread 5.1, un sistem de operare în timp real (RTOS) pentru dispozitivele IoT, este disponibilă. Sistemul se dezvoltă din 2006 de către o comunitate de dezvoltatori chinezi și în prezent este portat pentru 154 de plăci, cipuri și microcontrolere pe baza arhitecturilor 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, există 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, SGBD, servicii de rețea și motoare pentru execuția scripturilor. Codul este scris în limbajul 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).

A fost publicat sistemul de operare în timp real RT-Thread 5.1

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:

  • În RT-Smart, un sistem de operare hibrid bazat pe RT-Thread, care separă aplicațiile de nucleu, sunt incluse în mod implicit suporturi pentru mecanismele epoll, eventfd, signalfd, timerfd și select. A fost implementată o subsistemă de emulator de terminal. A fost adăugat suport pentru dispozitivele DFZU2EG MPSoC și cv181x-riscv.
  • În RTduino, un strat pentru asigurarea compatibilității cu ecosistemul Arduino, a fost adăugat suport pentru plăcile raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
  • Componentele externe, cum ar fi ssh, sftp, weston și vim, au fost actualizate.
  • A fost adăugat suport pentru noi plăci și cipuri, cum ar fi HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • S-a optimizat funcționarea planificatorilor de sarcini și a CPU-ului. A fost adăugată o interfață pentru abstractizarea planificatorului rt_sched.
  • A fost realizată o optimizare a funcționării pe sisteme multicores.
  • A fost oferită posibilitatea de a conecta gestiuni la operațiunile de alocare a memoriei malloc.
  • Pentru arhitecturile ARM64 și RV64, a fost realizat suport pentru urmărea inversă (backtrace) a nucleului.
  • A fost continuat tranziția către un nou model de drivere de dispozitive.
  • În driverele virtio qemu-virt64-aarch64 și qemu-virt64-riscv a fost adăugat suport pentru SDL2.
  • A fost adăugat un cadru pentru dezvoltarea driverele clk.
  • A fost adăugată configurația exfat în DFS. Kernelul implicit a fost modificat pentru a folosi FS dfsv2.
  • A fost îmbunătățită suportul pentru terminalele TTY.
  • În sistemul de intrare/ieșire a fost adăugat suport pentru flagurile O_DIRECT și O_SYNC.
  • În implementarea proceselor ușoare lwP (Lightweight Process), funcția wp_new a fost înlocuită cu lwp_create. A fost adăugată funcția sys_setitimer.
  • În managerul de memorie MM a fost adăugat suport pentru rezervarea memoriei și a fost implementată funcția rt_aspace_mremap_range.
  • În Libcpu a fost adăugat suport pentru procesoarele ARM Cortex-M85 și Cortex-R52.

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