Dostępny system operacyjny czasu rzeczywistego RT-Thread 5.0

Opublikowano wersję RT-Thread 5.0, systemu operacyjnego czasu rzeczywistego (RTOS) dla urządzeń internetu rzeczy. System rozwija się od 2006 roku przez społeczność chińskich deweloperów i jest obecnie portowany na prawie 200 platform, układów scalonych i mikrokontrolerów opartych na architekturach x86, ARM, MIPS, C-SKY, Xtensa, ARC i RISC-V. Minimalistyczna wersja RT-Thread (Nano) działa zaledwie w 3 KB Flash i 1,2 KB RAM. Dla urządzeń IoT, które nie są poważnie ograniczone zasobami, dostępna jest pełnoprawna wersja, która wspiera zarządzanie pakietami, konfiguratory, stos sieciowy, pakiety z realizacją interfejsu graficznego, systemy sterowania głosowego, DBMS, usługi sieciowe oraz silniki do wykonywania skryptów. Kod napisany jest w języku C i udostępniany na licencji Apache 2.0.

Cechy platformy:

  • Wsparcie dla architektur:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (obsługiwane mikrokontrolery producentów takich jak 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).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Rozszerzalna architektura modułowa, umożliwiająca utworzenie środowiska odpowiedniego dla systemów z ograniczonymi zasobami (minimalne wymagania — 3 KB Flash i 1,2 KB RAM).
  • Wsparcie dla różnych standardowych interfejsów do programowania, takich jak POSIX, CMSIS, API C++. Osobno rozwijana jest warstwa RTduino dla zgodności z API i bibliotekami projektu Arduino.
  • Możliwość rozszerzenia poprzez system pakietów i komponentów plug-in.
  • Wsparcie dla tworzenia aplikacji do wysokowydajnego przetwarzania informacji.
  • Elastyczny system zarządzania energią, pozwalający na automatyczne przeprowadzanie urządzenia w tryb uśpienia oraz dynamiczne zarządzanie napięciem i częstotliwością w zależności od obciążenia.
  • Wsparcie dla sprzętowych rozwiązań do szyfrowania i deszyfrowania, oferujące biblioteki z różnymi algorytmami kryptograficznymi.
  • Ujednolicony interfejs do dostępu do urządzeń peryferyjnych i dodatkowego sprzętu.
  • Wirtualny system plików i dostępność sterowników dla takich systemów plików jak FAT, UFFS, NFSv3, ROMFS i RAMFS.
  • Stos protokołów dla TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M itd.
  • System zdalnej dostawy i instalacji aktualizacji, wspierający szyfrowanie i weryfikację podpisem cyfrowym, wznowienie przerwanej instalacji, przywracanie po awarii, cofanie zmian itp.
  • System dynamicznie ładowanych modułów jądra, który umożliwia osobne zbieranie i opracowywanie komponentów jądra oraz ich dynamiczne ładowanie w razie potrzeby.
  • Wsparcie dla różnych zewnętrznych pakietów, takich jak Yaffs2, SQLite, FreeModbus, Canopen itp.
  • Możliwość bezpośredniej kompilacji pakietu BSP (Board Support Package) z komponentami wspierającymi określoną platformę sprzętową oraz jego załadunku na płytkę.
  • Obecność emulatora (BSP qemu-vexpress-a9), który umożliwia rozwijanie aplikacji bez użycia rzeczywistych płytek.
  • Wsparcie dla standardowych kompilatorów i narzędzi do rozwoju, takich jak GCC, MDK Keil i IAR.
  • Rozwój własnego zintegrowanego środowiska programistycznego RT-Thread Studio IDE, umożliwiającego tworzenie i debugowanie aplikacji, ładowanie ich na płytki oraz zarządzanie ustawieniami. Wtyczki do rozwoju oprogramowania dla RT-Thread są również dostępne dla Eclipse i VS Code.
    Dostępny system operacyjny czasu rzeczywistego RT-Thread 5.0
  • Obecność konsolowego interfejsu Env, który upraszcza tworzenie projektów i konfigurację środowiska.
    Dostępny system operacyjny czasu rzeczywistego RT-Thread 5.0

System operacyjny składa się z trzech podstawowych warstw:

  • Jądro, zapewniające wykonywanie zadań w czasie rzeczywistym. Jądro dostarcza uniwersalne podstawowe prymitywy obejmujące obszary takie jak zarządzanie blokadami i synchronizacją danych, planowanie zadań, zarządzanie wątkami, obsługa sygnałów, kolejki wiadomości, zarządzanie czasomierzem oraz pamięcią. Specyficzne dla sprzętu cechy są realizowane na poziomie libcpu i BSP, które zawierają niezbędne sterowniki i kod do wsparcia CPU.
  • Komponenty i usługi działające na poziomie jądra, oferujące takie abstrakcje jak wirtualny system plików, system obsługi wyjątków, pamięć w formacie klucz/wartość, interfejs wiersza poleceń FinSH, stos sieciowy (LwIP) oraz ramy sieciowe, biblioteki do wsparcia urządzeń, subsystem dźwiękowy, stos bezprzewodowy, komponenty wspierające Wi-Fi, LoRa, Bluetooth, 2G/4G. Modułowa architektura pozwala na podłączanie komponentów i usług w zależności od swoich zadań oraz dostępnych zasobów sprzętowych.
  • Pakiety programowe. Ogólne komponenty oprogramowania i biblioteki funkcji są dystrybuowane i instalowane w formie pakietów. Obecnie repozytorium zawiera ponad 450 pakietów, oferujących od graficznych interfejsów użytkownika, aplikacji multimedialnych i aplikacji sieciowych do systemów zarządzania robotami i narzędzi opartych na uczeniu maszynowym. W pakietach dostarczane są również silniki do organizacji wykonania programów w językach Lua, JerryScript, MicroPython, PikaScript i Rust (rtt_rust).

Dostępny system operacyjny czasu rzeczywistego RT-Thread 5.0

Wśród nowych możliwości wprowadzonych w wersji 5.0 można wymienić znaczną poprawę wsparcia dla systemów wielordzeniowych i wielowątkowych (na przykład, sieciowy stos i systemy plików zostały dostosowane do pracy w trybie wielowątkowym, a scheduler podzielił się na warianty dla systemów jednoukładowych i SMP). Dodano implementację TLS (Thread Local Storage). Ulepszono wsparcie dla układów Cortex-A. Znacznie poprawione wsparcie dla systemów 64-bitowych (stos TCP/IP i systemy plików zweryfikowane dla systemów 64-bitowych). Zintegrowano komponenty zarządzania pamięcią Flash. Przeprojektowano narzędzia do tworzenia sterowników.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster