Echtzeitbetriebssystem RT-Thread 5.0 verfügbar

Die Veröffentlichung von RT-Thread 5.0, einem Echtzeitbetriebssystem (RTOS) für Internet-of-Things-Geräte, wurde veröffentlicht. Das System wurde seit 2006 von einer Community chinesischer Entwickler entwickelt und derzeit auf fast 200 Boards, Chips und Mikrocontroller portiert, die auf x86-, ARM-, MIPS-, C-SKY-, Xtensa-, ARC- und RISC-V-Architekturen basieren. Der minimalistische RT-Thread (Nano)-Build benötigt zum Betrieb nur 3 KB Flash und 1.2 KB RAM. Für IoT-Geräte, deren Ressourcen nicht sehr begrenzt sind, wird eine Vollversion angeboten, die Paketverwaltung, Konfiguratoren, einen Netzwerkstack, Pakete mit der Implementierung einer grafischen Oberfläche, Sprachsteuerungssysteme, DBMS, Netzwerkdienste und Engines zur Ausführung unterstützt Skripte. Der Code ist in C geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

Plattformfunktionen:

  • Architekturunterstützung:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (Mikrocontroller von Herstellern wie ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP werden unterstützt).
    • 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).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Erweiterbare modulare Architektur, die es Ihnen ermöglicht, eine Umgebung zu erstellen, die für Systeme mit begrenzten Ressourcen geeignet ist (Mindestanforderungen: 3 KB Flash und 1.2 KB RAM).
  • Unterstützung verschiedener Standardschnittstellen für die Programmentwicklung, wie POSIX, CMSIS, C++ API. Die RTduino-Schicht wird separat entwickelt, um die Kompatibilität mit der Arduino-Projekt-API und den Bibliotheken zu gewährleisten.
  • Möglichkeit der Erweiterung durch ein System von Paketen und Plug-in-Komponenten.
  • Unterstützung bei der Anwendungsentwicklung für eine leistungsstarke Informationsverarbeitung.
  • Flexibles Energieverwaltungssystem, mit dem Sie das Gerät automatisch in den Ruhemodus versetzen und Spannung und Frequenz je nach Last dynamisch steuern können.
  • Hardware-Unterstützung für Ver- und Entschlüsselung, Bereitstellung von Bibliotheken mit verschiedenen kryptografischen Algorithmen.
  • Einheitliche Schnittstelle für den Zugriff auf Peripheriegeräte und Zusatzgeräte.
  • Virtuelles Dateisystem und Verfügbarkeit von Treibern für Dateisysteme wie FAT, UFFS, NFSv3, ROMFS und RAMFS.
  • Protokollstapel für TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M usw.
  • Ein System zur Fernbereitstellung und -installation von Updates, das die Verschlüsselung und Überprüfung mithilfe einer digitalen Signatur, die Wiederaufnahme einer unterbrochenen Installation, die Wiederherstellung nach einem Fehler, das Zurücksetzen von Änderungen usw. unterstützt.
  • Ein System dynamisch geladener Kernelmodule, mit dem Sie Kernelkomponenten separat erstellen und entwickeln und bei Bedarf dynamisch laden können.
  • Unterstützt verschiedene Pakete von Drittanbietern wie Yaffs2, SQLite, FreeModbus, Canopen usw.
  • Die Möglichkeit, ein BSP-Paket (Board Support Package) mit Komponenten zur Unterstützung einer bestimmten Hardwareplattform direkt zu kompilieren und auf die Platine zu laden.
  • Verfügbarkeit eines Emulators (BSP qemu-vexpress-a9), mit dem Sie Anwendungen entwickeln können, ohne echte Boards zu verwenden.
  • Unterstützung für gängige Compiler und Entwicklungstools wie GCC, MDK Keil und IAR.
  • Entwicklung unserer eigenen integrierten Entwicklungsumgebung RT-Thread Studio IDE, mit der Sie Anwendungen erstellen und debuggen, auf Boards laden und Einstellungen verwalten können. Entwicklungs-Plugins für RT-Thread sind auch für Eclipse und VS Code verfügbar.
    Echtzeitbetriebssystem RT-Thread 5.0 verfügbar
  • Das Vorhandensein der Env-Konsolenschnittstelle, die die Erstellung von Projekten und die Einrichtung der Umgebung vereinfacht.
    Echtzeitbetriebssystem RT-Thread 5.0 verfügbar

Das Betriebssystem besteht aus drei Grundschichten:

  • Ein Kernel, der die Ausführung von Aufgaben in Echtzeit ermöglicht. Der Kernel bietet generische Kernprimitive, die Bereiche wie Sperrverwaltung und Datensynchronisation, Aufgabenplanung, Thread-Verwaltung, Signalverarbeitung, Nachrichtenwarteschlange, Timer-Verwaltung und Speicherverwaltung abdecken. Hardwarespezifische Funktionen werden auf den Ebenen libcpu und BSP implementiert, einschließlich der erforderlichen Treiber und des Codes zur Unterstützung der CPU.
  • Komponenten und Dienste, die auf dem Kernel ausgeführt werden und Abstraktionen wie ein virtuelles Dateisystem, ein Ausnahmebehandlungssystem, einen Schlüssel-/Wertspeicher, eine FinSH-Befehlszeilenschnittstelle, einen Netzwerkstack (LwIP) und Netzwerkframeworks, Geräteunterstützungsbibliotheken, ein Audiosubsystem usw. bieten. Wireless-Stack, Komponenten zur Unterstützung von Wi-Fi, LoRa, Bluetooth, 2G/4G. Durch die modulare Architektur können Sie Komponenten und Dienste je nach Ihren Aufgaben und verfügbaren Hardwareressourcen verbinden.
  • Softwarepakete. Allgemeine Softwarekomponenten und Funktionsbibliotheken werden in Form von Paketen verteilt und installiert. Das Repository umfasst derzeit mehr als 450 Pakete und bietet alles von grafischen Schnittstellen, Multimedia-Anwendungen und Netzwerkanwendungen bis hin zu Robotersteuerungssystemen und auf maschinellem Lernen basierenden Prozessoren. Die Pakete stellen außerdem Engines zur Organisation der Ausführung von Programmen in den Sprachen Lua, JerryScript, MicroPython, PikaScript und Rust (rtt_rust) bereit.

Echtzeitbetriebssystem RT-Thread 5.0 verfügbar

Unter den neuen Funktionen, die in Version 5.0 hinzugefügt wurden, können wir eine deutliche Verbesserung der Unterstützung für Multi-Core- und Multi-Thread-Systeme feststellen (z. B. werden der Netzwerkstapel und die Dateisysteme für die Arbeit im Multi-Thread-Modus angepasst, der Scheduler ist geteilt). in Optionen für Single-Core-Systeme und SMP). Implementierung von TLS (Thread Local Storage) hinzugefügt. Verbesserte Unterstützung für Cortex-A-Chips. Deutlich verbesserte Unterstützung für 64-Bit-Systeme (TCP/IP-Stack und Dateisysteme sind für 64-Bit-Systeme verifiziert). Komponenten zur Flash-Speicherverwaltung sind integriert. Das Toolkit zum Erstellen von Treibern wurde neu gestaltet.

Source: opennet.ru

Kommentar hinzufügen