Dostupný operační systém reálného času RT-Thread 5.3

Byl vydán nový release RT-Thread 5.3, operačního systému reálného času (RTOS) pro zařízení Internetu věcí. Systém se vyvíjí od roku 2006 v komunitě čínských vývojářů a v současnosti je portován na 155 platforem, čipů a mikrořadičů založených na architekturách x86, ARM, MIPS, C-SKY, Xtensa, ARC a RISC-V. Minimalistická verze RT-Thread (Nano) vyžaduje pro provoz pouze 3 KB Flash a 1.2 KB RAM. Pro IoT zařízení, která nejsou výrazně omezená na zdroje, je k dispozici plně funkční verze, která podporuje správu balíčků, konfigurátory, síťový zásobník, balíčky s grafickým rozhraním, systémy hlasového ovládání, databáze, síťové služby a skriptovací enginy. Kód je napsán v jazyce C a je distribuován pod licencí Apache 2.0.

Operační systém se skládá ze tří základních vrstev:

  • Jádro zajišťující vykonávání úloh v reálném čase. Jádro poskytuje univerzální základní primitiva pokrývající oblasti jako je správa zámků a synchronizace dat, plánování úloh, správa vláken, zpracování signálů, fronty zpráv, správa časovačů, správa paměti. Specifické pro hardware vlastnosti jsou реализovány na úrovni libcpu a BSP, které zahrnují potřebné ovladače a kód pro podporu CPU.
  • Komponenty a služby pracující nad jádrem a nabízející takové abstrakce jako virtuální souborový systém, systém zpracování výjimek, úložiště ve formátu klíč/hodnota, rozhraní příkazového řádku FinSH, síťový stoh (LwIP) a síťové frameworky, knihovny pro podporu zařízení, zvukový subsystém, bezdrátový stoh, komponenty pro podporu Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulární architektura umožňuje připojovat komponenty a služby v závislosti na svých úlohách a dostupných hardwarových zdrojích.
  • Programové balíčky. Obecně užitné softwarové komponenty a funkční knihovny se distribuují a instalují ve formě balíčků. V současnosti repozitář zahrnuje více než 450 balíčků, které nabízejí vše od grafických uživatelských rozhraní, multimediálních aplikací a síťových aplikací po systémy řízení robotů a zpracovatele strojového učení. V balíčcích jsou také dodávány enginy pro výkon programů v jazycích Lua, JerryScript, MicroPython, PikaScript a Rust (rtt_rust).

Vlastnosti platformy:

  • Podpora architektur:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podporovány mikrořadiče od výrobců jako 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, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Rozšiřitelná modulární architektura, která umožňuje vytvoření prostředí vhodného pro systémy s omezenými zdroji (minimální požadavky — 3 KB Flash a 1,2 KB RAM).
  • Podpora různých standardních rozhraní pro vývoj programů, jako jsou POSIX, CMSIS, C++ API. Samostatně se vyvíjí vrstva RTduino pro kompatibilitu s API a knihovnami projektu Arduino.
  • Možnost rozšíření prostřednictvím systému balíčků a připojitelných komponent.
  • Podpora vývoje aplikací pro vysoce výkonné zpracování informací.
  • Flexibilní systém správy napájení, který umožňuje automaticky převést zařízení do režimu spánku a dynamicky řídit napětí a frekvenci v závislosti na zatížení.
  • Podpora hardwarových prostředků pro šifrování a dešifrování, poskytování knihoven s různými kryptografickými algoritmy.
  • Unifikované rozhraní pro přístup k periferním zařízením a dalšímu vybavení.
  • Virtuální FS a dostupnost ovladačů pro takové FS, jako jsou FAT, UFFS, NFSv3, ROMFS a RAMFS.
  • Stack protokolů pro TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M atd.
  • Systém vzdáleného dodávání a instalace aktualizací, který podporuje šifrování a ověřování digitálním podpisem, obnovení přerušené instalace, zotavení po havárii, vrácení změn atd.
  • Systém dynamicky načitovaných modulů jádra, který umožňuje samostatné sestavování a vývoj komponent jádra a jejich dynamické načítání v případě potřeby.
  • Podpora různých třetích stran balíčků, jako jsou Yaffs2, SQLite, FreeModbus, Canopen atd.
  • Možnost přímé kompilace BSP balíčku (Board Support Package) s komponenty pro podporu konkrétní hardwarové platformy a jeho nahrání na desku.
  • Existence emulátoru (BSP qemu-vexpress-a9), který umožňuje vyvíjet aplikace bez použití skutečných desek.
  • Podpora běžných kompilátorů a nástrojů pro vývoj, jako jsou GCC, MDK Keil a IAR.
  • Vývoj vlastní integrované vývojové prostředí RT-Thread Studio IDE, které umožňuje vytvářet a ladit aplikace, nahrávat je na desky, spravovat nastavení. Pluginy pro vývoj programů pro RT-Thread jsou také k dispozici pro Eclipse a VS Code.
  • Existence konzolového rozhraní Env, které zjednodušuje vytváření projektů a nastavení prostředí.

Mezi změnami v novém vydání:

  • Byla rozšířena podpora vývoje komponent v programovacím jazyce Rust. Přidány Rust obálky pro vlákna, mutexy, semafory, fronty zpráv a také pro operace s pamětí, časem a soubory. Implementovány komponenty pro integraci se SCons a Cargo. Zajištěno automatické rozpoznání cílových platforem ARM, AArch64 a RISC-V. Přidány procedurální makra pro inicializaci a registraci příkazů.
  • Pro mikrořadiče Cortex-M byla zahrnuta podpora standardu Open Firmware s popisem periferií prostřednictvím Device Tree.
  • Byla přidána podpora VirtIO 1.2 s možností využití front balíčků, transportů MMIO/PCI a synchronizace DMA. Přidány VirtIO ovladače 9P, crypto, RNG, SCMI a SCSI. Byly aktualizovány VirtIO ovladače pro síť, bloková zařízení, konzoli, vstupní zařízení a GPU.
  • Byl přidán framework DVFS (Dynamické řízení napětí a frekvence) pro dynamické řízení frekvence CPU a zařízení. Zajištěna integrace s ARM SCMI firmvérem pro správu spotřeby energie. Vylepšeno řízení ventilátorů.
  • Byla přidána podpora TEE prostředí (Trusted Execution Environment) a mechanismu pro výměnu zpráv RPMSG (Remote Processor Messaging).
  • Byla implementována podpora Unix socketů.
  • Byla přidána podpora mechanismů ochrany bezdrátových sítí WPA3, EA (Enterprise Authentication), WAPI, OWE a DPP.
  • Byla přidána podpora protokolu pro synchronizaci času PTP (Precision Time Protocol).
  • Byl přidán rámec Clock Time pro práci s časem, který podporuje vysoce přesné časovače a synchronizaci času z několika zdrojů. Nový rámec nahradil dříve používané komponenty ktime, cputime a hwtimer.
  • Byl implementován souborový systém 9PFS, používaný pro výměnu souborů mezi hostitelským prostředím a virtuálními stroji.
  • V implementaci lehkých procesů lwP (Lightweight Process) byla přidána podpora architektury ARM a byl přidán mechanismus vDSO (virtual dynamic shared object), který umožňuje přesunout obsluhy z jádra do uživatelského prostoru a vyhnout se přepínání kontextu.
  • V jádře byla implementována podpora 8- a 16bitových atomických operací.
  • Byla přidána podpora symetrického vícetržení (SMP) pro procesory RISC-V série XuanTie C/R a emulátor QEMU virt64.
  • Byl aktualizován USB zásobník CherryUSB 1.6.1.
  • Byly přidány nové DM ovladače (Device Manager) pro UFS, AHCI, NVMe, Ethernet, Intel HDA, joystick a dotykové obrazovky.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster