Elérhető az RT-Thread 5.0 valós idejű operációs rendszer

Megjelent az RT-Thread 5.0, egy valós idejű operációs rendszer (RTOS) az Internet of Things eszközökhöz. A rendszert 2006 óta fejleszti kínai fejlesztők közössége, és jelenleg csaknem 200 x86, ARM, MIPS, C-SKY, Xtensa, ARC és RISC-V architektúrákon alapuló kártyára, chipre és mikrokontrollerre portolták. A minimalista RT-Thread (Nano) build működéséhez mindössze 3 KB Flash és 1.2 KB RAM szükséges. Az erőforrásokban nem nagyon korlátozott IoT-eszközökhöz egy teljes funkcionalitású verziót kínálnak, amely támogatja a csomagkezelést, a konfigurátorokat, a hálózati veremet, a grafikus interfész megvalósításával rendelkező csomagokat, a hangvezérlő rendszereket, a DBMS-t, a hálózati szolgáltatásokat és a végrehajtó motorokat. forgatókönyvek. A kód C nyelven íródott, és az Apache 2.0 licenc alatt kerül terjesztésre.

A platform jellemzői:

  • Építészeti támogatás:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (olyan gyártók mikrovezérlői támogatottak, mint az 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] (szifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Bővíthető moduláris architektúra, amely lehetővé teszi a korlátozott erőforrásokkal rendelkező rendszerek számára megfelelő környezet létrehozását (minimális követelmények - 3 KB Flash és 1.2 KB RAM).
  • Különféle szabványos interfészek támogatása a programfejlesztéshez, például POSIX, CMSIS, C++ API. Az RTduino réteget külön fejlesztik az Arduino projekt API-val és könyvtárakkal való kompatibilitás érdekében.
  • Bővítési lehetőség csomagok és beépülő komponensek rendszerén keresztül.
  • Alkalmazásfejlesztés támogatása nagy teljesítményű információfeldolgozáshoz.
  • Rugalmas energiagazdálkodási rendszer, amely lehetővé teszi a készülék automatikus alvó üzemmódba helyezését, és dinamikusan szabályozza a feszültséget és a frekvenciát a terheléstől függően.
  • Hardveres támogatás titkosításhoz és visszafejtéshez, könyvtárak biztosítása különféle kriptográfiai algoritmusokkal.
  • Egységes interfész a perifériás eszközök és kiegészítő berendezések eléréséhez.
  • Virtuális fájlrendszer és illesztőprogramok elérhetősége olyan fájlrendszerekhez, mint a FAT, UFFS, NFSv3, ROMFS és RAMFS.
  • Protokollverem TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M stb.
  • Frissítések távoli kézbesítésére és telepítésére szolgáló rendszer, amely támogatja a titkosítást és a digitális aláírással történő ellenőrzést, a megszakadt telepítés folytatását, a hiba utáni helyreállítást, a változtatások visszaállítását stb.
  • Dinamikusan betöltött kernelmodulok rendszere, amely lehetővé teszi a kernelkomponensek külön felépítését és fejlesztését, valamint szükség esetén dinamikus betöltését.
  • Támogatja a különféle harmadik féltől származó csomagokat, mint például a Yaffs2, SQLite, FreeModbus, Canopen stb.
  • Lehetőség egy BSP-csomag (Board Support Package) közvetlen fordítására egy adott hardverplatform támogatására szolgáló összetevőkkel, és betölthető az alaplapra.
  • Elérhető egy emulátor (BSP qemu-vexpress-a9), amely lehetővé teszi alkalmazások fejlesztését valódi táblák használata nélkül.
  • Az általános fordítók és fejlesztőeszközök támogatása, például a GCC, az MDK Keil és az IAR.
  • Saját integrált fejlesztői környezetünk, az RT-Thread Studio IDE fejlesztése, amely lehetővé teszi alkalmazások létrehozását és hibakeresését, kártyákra való betöltését és beállítások kezelését. Az RT-Thread fejlesztői bővítményei az Eclipse és a VS Code számára is elérhetők.
    Elérhető az RT-Thread 5.0 valós idejű operációs rendszer
  • Az Env konzolfelület jelenléte, amely leegyszerűsíti a projektek létrehozását és a környezet beállítását.
    Elérhető az RT-Thread 5.0 valós idejű operációs rendszer

Az operációs rendszer három alapvető rétegből áll:

  • Egy kernel, amely lehetővé teszi a feladatok valós időben történő végrehajtását. A kernel általános alapprimitíveket biztosít olyan területekre, mint a zárkezelés és az adatszinkronizálás, a feladatütemezés, a szálkezelés, a jelkezelés, az üzenetsorkezelés, az időzítőkezelés és a memóriakezelés. A hardver-specifikus funkciókat a libcpu és a BSP szinten valósítják meg, amelyek magukban foglalják a CPU támogatásához szükséges illesztőprogramokat és kódot.
  • A rendszermag tetején futó és absztrakciókat kínáló komponensek és szolgáltatások, például virtuális fájlrendszer, kivételkezelő rendszer, kulcs/érték tároló, FinSH parancssori interfész, hálózati verem (LwIP) és hálózati keretrendszerek, eszköztámogató könyvtárak, audio alrendszer, vezeték nélküli verem, a Wi-Fi-t támogató alkatrészek, LoRa, Bluetooth, 2G/4G. A moduláris architektúra lehetővé teszi az összetevők és szolgáltatások összekapcsolását a feladatoktól és a rendelkezésre álló hardvererőforrásoktól függően.
  • Szoftvercsomagok. Az általános célú szoftverösszetevőket és funkciókönyvtárakat csomagok formájában terjesztik és telepítik. A repository jelenleg több mint 450 csomagot tartalmaz, amelyek a grafikus felületektől, multimédiás alkalmazásoktól és hálózati alkalmazásoktól kezdve a robotvezérlő rendszerekig és a gépi tanuláson alapuló processzorokig mindent kínálnak. A csomagok motorokat is biztosítanak a programok végrehajtásának megszervezéséhez Lua, JerryScript, MicroPython, PikaScript és Rust (rtt_rust) nyelveken.

Elérhető az RT-Thread 5.0 valós idejű operációs rendszer

Az 5.0-s verzióban hozzáadott újdonságok között jelentős javulás figyelhető meg a többmagos és többszálú rendszerek támogatásában (például a hálózati verem és a fájlrendszerek adaptálva lettek többszálas módban történő munkára, az ütemező megosztott az egymagos rendszerek és az SMP opciókba). Hozzáadott TLS (Thread Local Storage) megvalósítás. Továbbfejlesztett támogatás a Cortex-A chipekhez. Jelentősen továbbfejlesztett támogatás a 64 bites rendszerekhez (a TCP/IP verem és fájlrendszerek 64 bites rendszerek esetén ellenőrizve vannak). A flash memória kezelési összetevői be vannak építve. Az illesztőprogramok létrehozásának eszköztárát újratervezték.

Forrás: opennet.ru

Hozzászólás