È stata pubblicata la versione 5.1 del sistema operativo in tempo reale RT-Thread.

Dopo un anno di sviluppo, è disponibile la versione RT-Thread 5.1, un sistema operativo in tempo reale (RTOS) per dispositivi IoT. Il sistema è in evoluzione dal 2006 grazie a una comunità di sviluppatori cinesi ed è attualmente portato su 154 piattaforme, chip e microcontrollori basati su architetture x86, ARM, MIPS, C-SKY, Xtensa, ARC e RISC-V. La versione minimalista di RT-Thread (Nano) richiede solo 3 KB di Flash e 1,2 KB di RAM per funzionare. Per i dispositivi IoT, non eccessivamente vincolati in termini di risorse, è disponibile una versione completa che supporta la gestione dei pacchetti, configuratori, stack di rete, pacchetti con interfaccia grafica, sistemi di riconoscimento vocale, database, servizi di rete e motori per l'esecuzione di script. Il codice è scritto in linguaggio C e distribuito con licenza Apache 2.0.

Il sistema operativo è composto da tre strati di base:

  • Il kernel che consente l'esecuzione di compiti in tempo reale. Il kernel fornisce primitive di base versatili, che coprono aree come la gestione dei lock e la sincronizzazione dei dati, la pianificazione dei compiti, la gestione dei thread, la gestione dei segnali, le code dei messaggi, la gestione dei timer e la gestione della memoria. Le caratteristiche specifiche per l'hardware sono implementate a livello di libcpu e BSP, che includono i driver necessari e il codice per supportare la CPU.
  • Componenti e servizi che operano sopra il kernel e offrono astrazioni come il file system virtuale, il sistema di gestione delle eccezioni, lo storage in formato chiave/valore, l'interfaccia della linea di comando FinSH, lo stack di rete (LwIP) e framework di rete, librerie per il supporto dei dispositivi, sottosistema audio, stack wireless, componenti per il supporto di Wi-Fi, LoRa, Bluetooth, 2G/4G. L'architettura modulare consente di collegare componenti e servizi in base ai propri compiti e alle risorse hardware disponibili.
  • Pacchetti software. I componenti software generali e le librerie di funzioni vengono distribuiti e installati sotto forma di pacchetti. Attualmente, il repository include oltre 450 pacchetti che offrono interfacce grafiche, applicazioni multimediali e applicazioni di rete, fino a sistemi di gestione robotica e processori basati su machine learning. I pacchetti contengono anche motori per l'esecuzione di programmi in linguaggi come Lua, JerryScript, MicroPython, PikaScript e Rust (rtt_rust).

È stata pubblicata la versione 5.1 del sistema operativo in tempo reale RT-Thread.

Caratteristiche della piattaforma:

  • Supporto per architetture:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (supportati microcontrollori di produttori come 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.
  • Architettura modulare espandibile che consente di creare un ambiente adatto per sistemi con risorse limitate (requisiti minimi — 3 KB di Flash e 1,2 KB di RAM).
  • Supporto per vari standard di interfaccia nello sviluppo di software, come POSIX, CMSIS e C++ API. È in fase di sviluppo un layer separato, RTduino, per la compatibilità con API e librerie del progetto Arduino.
  • Possibilità di espansione tramite un sistema di pacchetti e componenti modulari.
  • Supporto per lo sviluppo di applicazioni per l'elaborazione ad alte prestazioni.
  • Sistema di gestione dell'energia flessibile, che consente di mettere automaticamente il dispositivo in modalità sospensione e gestire dinamicamente tensione e frequenza in base al carico.
  • Supporto hardware per la crittografia e la decrittografia, con librerie di vari algoritmi crittografici disponibili.
  • Interfaccia unificata per l'accesso a dispositivi periferici ed attrezzature aggiuntive.
  • File system virtuale e disponibilità di driver per file system come FAT, UFFS, NFSv3, ROMFS e RAMFS.
  • Stack di protocolli per TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, ecc.
  • Sistema di distribuzione e installazione remota degli aggiornamenti, con supporto per crittografia e verifica tramite firma digitale, continuazione dell'installazione interrotta, recupero da errori, annullamento delle modifiche, ecc.
  • Sistema di moduli dinamicamente caricabili del kernel, che consente di assemblare e sviluppare separatamente i componenti del kernel e di caricarli dinamicamente all'occorrenza.
  • Supporto per vari pacchetti di terze parti, come Yaffs2, SQLite, FreeModbus, Canopen e altro.
  • Possibilità di compilare direttamente il pacchetto BSP (Board Support Package) con componenti per il supporto di una specifica piattaforma hardware e di caricarlo sulla scheda.
  • Disponibilità di un emulatore (BSP qemu-vexpress-a9), che consente di sviluppare applicazioni senza utilizzare hardware reale.
  • Supporto per compilatori e strumenti di sviluppo standard, come GCC, MDK Keil e IAR.
  • Sviluppo di un ambiente integrato di sviluppo RT-Thread Studio IDE, che consente di creare e debugare applicazioni, caricarle sulle schede e gestire le impostazioni. I plugin per lo sviluppo di programmi per RT-Thread sono disponibili anche per Eclipse e VS Code.
  • Disponibilità di un'interfaccia console Env, che semplifica la creazione di progetti e la configurazione dell'ambiente.

Tra le novità della nuova versione:

  • In RT-Smart, the hybrid operating system based on RT-Thread that separates applications from the kernel, support for epoll, eventfd, signalfd, timerfd, and select mechanisms is enabled by default. A terminal emulator subsystem has been implemented. Support for DFZU2EG MPSoC and cv181x-riscv devices has been added.
  • In RTduino, the layer ensuring compatibility with the Arduino ecosystem, support for raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, and stm32f407-rt-spark boards has been added.
  • Third-party components such as ssh, sftp, weston, and vim have been updated.
  • Support for new boards and chips has been added, including 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).
  • The operation of task schedulers and CPU has been optimized. A layer for abstracting the rt_sched scheduler has been added.
  • Optimizations for multi-core systems have been implemented.
  • The ability to connect handlers to memory allocation operations malloc has been provided.
  • Per le architetture ARM64 e RV64 è stata implementata la supporto per il backtrace del kernel.
  • Continua la transizione verso il nuovo modello di driver per i dispositivi.
  • Nei driver virtio, qemu-virt64-aarch64 e qemu-virt64-riscv è stata aggiunta la supporto per SDL2.
  • Aggiunto un framework per lo sviluppo di driver clk.
  • Nella DFS è stata aggiunta la configurazione exfat. Il kernel è stato impostato per utilizzare di default il file system dfsv2.
  • Migliorato il supporto per i terminali TTY.
  • Nel sistema di input/output è stata aggiunta la supporto per i flag O_DIRECT e O_SYNC.
  • Nell'implementazione dei processi leggeri lwP (Lightweight Process) la funzione wp_new è stata sostituita da lwp_create. Aggiunta la funzione sys_setitimer.
  • Nel gestore di memoria MM è stata aggiunta la supporto per la riservazione della memoria e implementata la funzione rt_aspace_mremap_range.
  • In Libcpu è stata aggiunta la supporto per i processori ARM Cortex-M85 e Cortex-R52.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster