RT-Thread 5.3 er tilgjengelig som sanntidsoperativsystem

Utgitt versjon RT-Thread 5.3, et sanntidsoperativsystem (RTOS) for enheter innen tingenes internett. Systemet har blitt utviklet siden 2006 av et fellesskap av kinesiske utviklere og er nå portert til 155 plattformer, brikker og mikrokontrollere basert på x86, ARM, MIPS, C-SKY, Xtensa, ARC og RISC-V-arkitekturer. Den minimalistiske versjonen RT-Thread (Nano) krever kun 3 KB Flash og 1,2 KB RAM for å fungere. For IoT-enheter som ikke har strenge ressursbegrensninger, tilbys en fullt funksjonell versjon som støtter pakkeadministrasjon, konfigurasjonsverktøy, nettverksstakk, pakkene som implementerer grafisk grensesnitt, stemmestyringssystemer, databaser, nettverkstjenester og motorer for skriptkjøring. Koden er skrevet i C og distribueres under Apache 2.0-lisensen.

The operating system consists of three basic layers:

  • The kernel, which ensures real-time task execution. The kernel provides universal basic primitives covering areas such as locking and data synchronization management, task scheduling, thread management, signal handling, message queues, timer management, and memory management. Hardware-specific features are implemented at the level of libcpu and BSP, which include the necessary drivers and code for CPU support.
  • Components and services operating above the kernel, offering abstractions such as a virtual file system, exception handling system, key-value storage, FinSH command-line interface, network stack (LwIP), network frameworks, libraries for device support, sound subsystem, wireless stack, components for supporting Wi-Fi, LoRa, Bluetooth, 2G/4G. The modular architecture allows for connecting components and services according to specific tasks and available hardware resources.
  • Programvarepakker. Generelle programkomponenter og funksjonsbiblioteker distribueres og installeres i form av pakker. For tiden inkluderer depotet over 450 pakker som tilbyr alt fra grafiske grensesnitt, multimedieapplikasjoner og nettverksapplikasjoner til robotstyringssystemer og maskinlæringsbaserte behandlere. Pakker inkluderer også motorer for å organisere kjøring av programmer på språkene Lua, JerryScript, MicroPython, PikaScript og Rust (rtt_rust).

Plattformfunksjoner:

  • Støtte for arkitekturer:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mikrokontrollere fra produsenter som ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevice, Nordic, Nuvoton, NXP støttes).
    • 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.
  • Utvidbar modulær arkitektur som muliggjør oppretting av miljøer passende for systemer med begrensede ressurser (minstekrav — 3 KB Flash og 1,2 KB RAM).
  • Støtte for ulike standardgrensesnitt for programvareutvikling, slik som POSIX, CMSIS, C++ API. En RTduino-lag utvikles separat for kompatibilitet med API-er og biblioteker fra Arduino-prosjektet.
  • Mulighet for utvidelse gjennom pakkesystem og tilleggsmoduler.
  • Støtte for applikasjonsutvikling for høyytelses databehandling.
  • Fleksibelt strømadministrasjonssystem som automatisk kan sette enheten i dvalemodus og dynamisk administrere spenning og frekvens avhengig av belastning.
  • Støtte for maskinvare for kryptering og dekryptering, med biblioteker som tilbyr ulike kryptografiske algoritmer.
  • Enhetlig grensesnitt for tilgang til perifere enheter og tilleggsutstyr.
  • Virtuelt filsystem og tilgjengelighet av drivere for filsystemer som FAT, UFFS, NFSv3, ROMFS og RAMFS.
  • Protokollstakken for TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M osv.
  • System for remote delivery and installation of updates, supporting encryption and digital signature verification, resuming interrupted installations, recovery after failure, rollback of changes, etc.
  • Dynamically loadable kernel module system that allows separate assembly and development of kernel components, which can be dynamically loaded as needed.
  • Support for various third-party packages, such as Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • The ability to directly compile a BSP package (Board Support Package) with components for supporting a specific hardware platform and upload it to the board.
  • Presence of an emulator (BSP qemu-vexpress-a9) that allows applications to be developed without using actual boards.
  • Support for standard compilers and development tools such as GCC, MDK Keil, and IAR.
  • Development of the integrated development environment RT-Thread Studio IDE, allowing for application creation and debugging, uploading them to boards, and managing settings. Plugins for developing applications for RT-Thread are also available for Eclipse and VS Code.
  • Presence of a console interface Env that simplifies project creation and environment setup.

Blant endringene i den nye utgivelsen:

  • Støtten for utvikling av komponenter på Rust-språket er utvidet. Rust-bindings for tråder, mutexer, semaforer, meldingskøer, samt minnehåndtering, tids- og filoperasjoner er lagt til. Komponentene for integrasjon med SCons og Cargo er implementert. Automatisk deteksjon av målplattformer ARM, AArch64 og RISC-V er sikret. Prosedyrmakroer for inicialisering og registrering av kommandoer er lagt til.
  • Støtte for Open Firmware-standarden er lagt til for Cortex-M mikrokontrollere, med beskrivelse av periferiutstyr gjennom Device Tree.
  • Støtte for VirtIO 1.2 er lagt til, med mulighet for bruk av pakkekøer, MMIO/PCI transport og DMA-synkronisering. VirtIO-drivere for 9P, kryptografi, RNG, SCMI og SCSI er lagt til. VirtIO-driverne for nettverk, blokk-enheter, konsoller, inngangs-enheter og GPU er oppdatert.
  • Et DVFS (Dynamic Voltage and Frequency Scaling) rammeverk er lagt til for dynamisk styring av CPU-frekvens og enheter. Integrasjonen med ARM SCMI-firmware for strømningsadministrasjon er sikret. Kjølerstyringen er forbedret.
  • Støtte for TEE-miljøer (Trusted Execution Environment) og RPMSG (Remote Processor Messaging) meldingssystem er lagt til.
  • Støtte for Unix-sokler er implementert.
  • Støtte for sikkerhetsprosedyrer for trådløse nettverk som WPA3, EA (Enterprise Authentication), WAPI, OWE og DPP er lagt til.
  • Støtte for PTP (Precision Time Protocol) tidssynkroniseringsprotokoll er lagt til.
  • Et Clock Time rammeverk for tidshåndtering, som støtter høypresisjons-timere og tidssynkronisering fra flere kilder, er lagt til. Det nye rammeverket erstatter de tidligere brukte komponentene ktime, cputime og hwtimer.
  • 9PFS-filsystemet er implementert, som brukes for filutveksling mellom vertsmiljøet og virtuelle maskiner.
  • Det er lagt til støtte for ARM-arkitektur i implementeringen av lettvektsprosesser (lwP), samt lagt til støtte for vDSO (virtual dynamic shared object)-mekanismen, som gjør det mulig å flytte håndterere fra kjernen til brukerrommet og unngå kontektskift.
  • Kjernen støtter nå 8- og 16-bits atomiske operasjoner.
  • Støtte for symmetrisk flerprosessering (SMP) er lagt til for RISC-V-prosessorene i XuanTie C/R-serien og emulatoren QEMU virt64.
  • USB-stakken CherryUSB 1.6.1 er oppdatert.
  • Nye DM-drivere (Device Manager) for UFS, AHCI, NVMe, Ethernet, Intel HDA, joystick og berøringsskjerm er lagt til.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster