Das Echtzeitsystem RT-Thread 5.1 wurde veröffentlicht.

Nach einem Jahr der Entwicklung wird die RT-Thread 5.1 veröffentlicht, ein Echtzeitbetriebssystem (RTOS) fĂŒr Internet-of-Things-GerĂ€te. Das System wird seit 2006 von einer Gemeinschaft chinesischer Entwickler entwickelt und ist mittlerweile fĂŒr 154 Plattformen, Chips und Mikrocontroller auf Basis der Architekturen x86, ARM, MIPS, C-SKY, Xtensa, ARC und RISC-V portiert. Der minimalistische RT-Thread (Nano) benötigt lediglich 3 KB Flash-Speicher und 1,2 KB RAM. FĂŒr IoT-GerĂ€te mit höheren Ressourcenanforderungen steht eine voll funktionsfĂ€hige Version zur VerfĂŒgung, die Paketmanagement, Konfiguratoren, einen Netzwerkstack, GrafikoberflĂ€chen, Sprachsteuerungssysteme, Datenbanksysteme, Netzwerkanwendungen und SkriptausfĂŒhrungsengines unterstĂŒtzt. Der Code ist in C geschrieben und wird unter der Apache 2.0 Lizenz vertrieben.

Das Betriebssystem besteht aus drei grundlegenden Schichten:

  • Der Kernel, der die AusfĂŒhrung von Aufgaben in Echtzeit ermöglicht. Der Kernel bietet universelle grundlegende Primitiven, die Bereiche wie Lock-Management und Datensynchronisation, Task-Planung, Thread-Management, Signalverarbeitung, Nachrichtenwarteschlangen, Timer-Verwaltung und Speicherverwaltung abdecken. Hardwarespezifische Merkmale werden auf der Ebene libcpu und BSP realisiert, die die erforderlichen Treiber und Codes zur UnterstĂŒtzung der CPU enthalten.
  • Komponenten und Dienste, die ĂŒber dem Kernel arbeiten und Abstraktionen wie ein virtuelles Dateisystem, ein Ausnahmeverarbeitungssystem, einen SchlĂŒssel/Wert-Speicher, eine KommandozeilenoberflĂ€che FinSH, einen Netzwerkstack (LwIP) und Netzwerk-Frameworks, Bibliotheken zur UnterstĂŒtzung von GerĂ€ten, ein Audiosubsystem, einen Wireless-Stack sowie Komponenten zur UnterstĂŒtzung von Wi-Fi, LoRa, Bluetooth, 2G/4G anbieten. Die modulare Architektur ermöglicht das Anschließen von Komponenten und Diensten basierend auf den eigenen Anforderungen und vorhandenen Hardware-Ressourcen.
  • Programmpakete. Software-Komponenten allgemeiner Art und Funktionsbibliotheken werden in Form von Paketen verteilt und installiert. Derzeit umfasst das Repository mehr als 450 Pakete, die von grafischen BenutzeroberflĂ€chen, Multimedia-Anwendungen und Netzwerkanwendungen bis hin zu Robotersteuerungssystemen und Machine-Learning-Handlern reichen. In den Paketen sind auch Engines zur AusfĂŒhrung von Programmen in den Sprachen Lua, JerryScript, MicroPython, PikaScript und Rust (rtt_rust) enthalten.

Das Echtzeitsystem RT-Thread 5.1 wurde veröffentlicht.

Plattformmerkmale:

  • UnterstĂŒtzung der Architekturen:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (unterstĂŒtzte Mikrocontroller von Herstellern wie 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.
  • Erweiterbare modulare Architektur, die es ermöglicht, eine Umgebung zu schaffen, die fĂŒr Systeme mit begrenzten Ressourcen geeignet ist (Mindestanforderungen - 3 KB Flash und 1,2 KB RAM).
  • UnterstĂŒtzung verschiedener Standartschnittstellen zur Softwareentwicklung, wie POSIX, CMSIS, C++ API. Eine separate Schicht namens RTduino wird entwickelt, um die KompatibilitĂ€t mit APIs und Bibliotheken des Arduino-Projekts zu gewĂ€hrleisten.
  • Erweiterungsmöglichkeiten ĂŒber ein Paket- und Plugin-System.
  • UnterstĂŒtzung der Anwendungsentwicklung fĂŒr die Hochleistungsverarbeitung von Informationen.
  • Ein flexibles Energiemanagementsystem, das es dem GerĂ€t ermöglicht, automatisch in den Schlafmodus zu wechseln und die Spannung sowie die Frequenz je nach Last dynamisch zu steuern.
  • UnterstĂŒtzung fĂŒr Hardwarelösungen zur VerschlĂŒsselung und EntschlĂŒsselung, Bereitstellung von Bibliotheken mit verschiedenen kryptografischen Algorithmen.
  • Ein einheitliches Interface fĂŒr den Zugriff auf PeripheriegerĂ€te und zusĂ€tzliches Equipment.
  • Virtuelles FS und die VerfĂŒgbarkeit von Treibern fĂŒr Dateisysteme wie FAT, UFFS, NFSv3, ROMFS und RAMFS.
  • Protokoll-Stack fĂŒr TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M usw.
  • Ein System zur Fernlieferung und Installation von Updates, das VerschlĂŒsselung und digitale Signaturverifizierung unterstĂŒtzt, die Wiederaufnahme unterbrochener Installationen, Wiederherstellung nach einem Fehler, Rollback von Änderungen usw.
  • Ein System dynamisch ladbarer Kernelmodule, das die separate Zusammenstellung und Entwicklung von Kernelkomponenten ermöglicht und diese bei Bedarf dynamisch lĂ€dt.
  • UnterstĂŒtzung verschiedener Drittanbieter-Pakete, wie Yaffs2, SQLite, FreeModbus, Canopen usw.
  • Möglichkeit zur direkten Kompilierung von BSP-Paketen (Board Support Package) mit Komponenten zur UnterstĂŒtzung einer bestimmten Hardwareplattform und deren Laden auf das Board.
  • Vorhandensein eines Emulators (BSP qemu-vexpress-a9), der die Entwicklung von Anwendungen ohne die Verwendung echter Boards ermöglicht.
  • UnterstĂŒtzung gĂ€ngiger Compiler und Entwicklungswerkzeuge, wie GCC, MDK Keil und IAR.
  • Entwicklung einer eigenen integrierten Entwicklungsumgebung RT-Thread Studio IDE, die das Erstellen und Debuggen von Anwendungen, das Laden auf Boards und die Verwaltung von Einstellungen ermöglicht. Plugins zur Entwicklung von Programmen fĂŒr RT-Thread sind auch fĂŒr Eclipse und VS Code verfĂŒgbar.
  • Vorhandensein einer KonsolenoberflĂ€che Env, die das Erstellen von Projekten und die Konfiguration der Umgebung vereinfacht.

Zu den Änderungen in der neuen Version gehören:

  • In RT-Smart, einem hybriden Betriebssystem auf Basis von RT-Thread, das Anwendungen vom Kernel trennt, ist standardmĂ€ĂŸig die UnterstĂŒtzung fĂŒr die Mechanismen epoll, eventfd, signalfd, timerfd und select enthalten. Ein Terminals emulator-Subsystem wurde implementiert. UnterstĂŒtzung fĂŒr die DFZU2EG MPSoC und cv181x-riscv GerĂ€te wurde hinzugefĂŒgt.
  • In RTduino, einer Schicht zur Sicherstellung der KompatibilitĂ€t mit dem Arduino-Ökosystem, wurde die UnterstĂŒtzung fĂŒr die Raspberry-Pico-, stm32h503-st-nucleo-, stm32h563-st-nucleo-, stm32f412-nucleo- und stm32f407-rt-spark-Platinen hinzugefĂŒgt.
  • Drittanbieter-Komponenten wie ssh, sftp, weston und vim wurden aktualisiert.
  • Die UnterstĂŒtzung neuer Plattformen und Chips wurde hinzugefĂŒgt, darunter 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).
  • Die FunktionalitĂ€t der Task-Scheduler und CPU wurde optimiert. Eine Abstraktionsschicht fĂŒr den rt_sched Scheduler wurde hinzugefĂŒgt.
  • Die Leistung auf Mehrkernsystemen wurde optimiert.
  • Die Möglichkeit zur Anbindung von Handlern an die Speicherzuweisungsoperationen malloc wurde bereitgestellt.
  • FĂŒr die Architekturen ARM64 und RV64 wurde die UnterstĂŒtzung fĂŒr die Kernel-Backtracing (backtrace) Implementierung realisiert.
  • Der Übergang zu einem neuen Modell der GerĂ€tetreiber geht weiter.
  • In den virtio-Treibern qemu-virt64-aarch64 und qemu-virt64-riscv wurde die UnterstĂŒtzung fĂŒr SDL2 hinzugefĂŒgt.
  • Ein Framework zur Entwicklung von clk-Treibern wurde hinzugefĂŒgt.
  • In DFS wurde die exfat-Konfiguration hinzugefĂŒgt. Der Kernel wurde standardmĂ€ĂŸig auf die Nutzung des dfsv2-Dateisystems umgestellt.
  • Verbesserte UnterstĂŒtzung fĂŒr TTY-Terminals.
  • Im Eingabe-/Ausgabesystem wurde UnterstĂŒtzung fĂŒr die Flags O_DIRECT und O_SYNC hinzugefĂŒgt.
  • In der Implementierung leichter Prozesse lwP (Lightweight Process) wurde die Funktion wp_new durch lwp_create ersetzt. Die Funktion sys_setitimer wurde hinzugefĂŒgt.
  • Im MM-Speicher-Manager wurde die UnterstĂŒtzung fĂŒr die Reservierung von Speicher hinzugefĂŒgt und die Funktion rt_aspace_mremap_range implementiert.
  • In Libcpu wurde die UnterstĂŒtzung fĂŒr die ARM Cortex-M85 und Cortex-R52 Prozessoren hinzugefĂŒgt.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster