Bol vydaný RT-Thread 5.0, operačný systém reálneho času (RTOS) pre zariadenia internetu vecí. Vyvíjaný od roku 2006 komunitou čínskych vývojárov, bol teraz portovaný na takmer 200 dosiek, čipov a mikrokontrolérov založených na architektúrach x86, ARM, MIPS, C-SKY, Xtensa, ARC a RISC-V. Minimalistická zostava RT-Thread (Nano) vyžaduje iba 3 KB Flash a 1.2 KB RAM. Pre zariadenia internetu vecí s neobmedzenými obmedzeniami zdrojov je k dispozícii plne funkčná verzia, ktorá podporuje správu balíkov, konfigurátory, sieťový stack, balíky s grafickým používateľským rozhraním, systémy hlasového ovládania, DBMS, sieťové služby a skriptovacie enginy. Kód je napísaný v jazyku C a distribuovaný pod licenciou Apache 2.0.
Vlastnosti platformy:
- Podpora architektúry:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (podporované sú mikrokontroléry od výrobcov ako 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).
- ARC (SYNOPSYS)
- DSP (TI).
- C-Sky.
- x86.
- Rozšíriteľná modulárna architektúra, ktorá umožňuje vytvárať prostredie vhodné pre systémy s obmedzenými zdrojmi (minimálne požiadavky - 3 KB Flash a 1.2 KB RAM).
- Podpora rôznych štandardných rozhraní pre vývoj programov, ako sú POSIX, CMSIS, C++ API. Vrstva RTduino sa vyvíja samostatne kvôli kompatibilite s API projektu Arduino a knižnicami.
- Možnosť rozšírenia prostredníctvom systému balíčkov a zásuvných komponentov.
- Podpora vývoja aplikácií pre vysokovýkonné spracovanie informácií.
- Flexibilný systém správy napájania, ktorý umožňuje automaticky uviesť zariadenie do režimu spánku a dynamicky ovládať napätie a frekvenciu v závislosti od záťaže.
- Hardvérová podpora pre šifrovanie a dešifrovanie, poskytovanie knižníc s rôznymi kryptografickými algoritmami.
- Jednotné rozhranie pre prístup k periférnym zariadeniam a prídavným zariadeniam.
- Virtuálny súborový systém a dostupnosť ovládačov pre súborové systémy ako FAT, UFFS, NFSv3, ROMFS a RAMFS.
- Protokolový zásobník pre TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M atď.
- Systém na vzdialené doručovanie a inštaláciu aktualizácií, ktorý podporuje šifrovanie a overovanie pomocou digitálneho podpisu, obnovenie prerušenej inštalácie, zotavenie po zlyhaní, vrátenie zmien atď.
- Systém dynamicky načítaných modulov jadra, ktorý vám umožňuje samostatne zostavovať a vyvíjať komponenty jadra a v prípade potreby ich dynamicky načítať.
- Podporuje rôzne balíky tretích strán, ako napríklad Yaffs2, SQLite, FreeModbus, Canopen atď.
- Schopnosť priamo skompilovať balík BSP (Board Support Package) s komponentmi na podporu špecifickej hardvérovej platformy a nahrať ho na dosku.
- Dostupnosť emulátora (BSP qemu-vexpress-a9), ktorý vám umožňuje vyvíjať aplikácie bez použitia skutočných dosiek.
- Podpora bežných kompilátorov a vývojových nástrojov ako GCC, MDK Keil a IAR.
- Vývoj nášho vlastného integrovaného vývojového prostredia RT-Thread Studio IDE, ktoré vám umožňuje vytvárať a ladiť aplikácie, načítať ich na dosky a spravovať nastavenia. Vývojové doplnky pre RT-Thread sú dostupné aj pre Eclipse a VS Code.

- Prítomnosť konzolového rozhrania Env, ktoré zjednodušuje vytváranie projektov a nastavovanie prostredia.

Operačný systém pozostáva z troch základných vrstiev:
- Jadro, ktoré umožňuje vykonávať úlohy v reálnom čase. Jadro poskytuje generické základné primitívy pokrývajúce oblasti, ako je správa zámkov a synchronizácia údajov, plánovanie úloh, správa vlákien, manipulácia so signálmi, radenie správ, správa časovačov a správa pamäte. Funkcie špecifické pre hardvér sú implementované na úrovniach libcpu a BSP, ktoré zahŕňajú potrebné ovládače a kód na podporu CPU.
- Komponenty a služby, ktoré bežia nad jadrom a ponúkajú abstrakcie, ako napríklad virtuálny súborový systém, systém spracovania výnimiek, úložisko kľúč/hodnota, rozhranie príkazového riadka FinSH, sieťový zásobník (LwIP) a sieťové rámce, knižnice na podporu zariadení, zvukový subsystém, bezdrôtový stoh, komponenty na podporu Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulárna architektúra vám umožňuje prepojiť komponenty a služby v závislosti od vašich úloh a dostupných hardvérových prostriedkov.
- Softvérové balíky. Všeobecné softvérové komponenty a knižnice funkcií sú distribuované a inštalované vo forme balíkov. Úložisko v súčasnosti obsahuje viac ako 450 balíkov, ktoré ponúkajú všetko od grafických rozhraní, multimediálnych aplikácií a sieťových aplikácií až po riadiace systémy robotov a procesory založené na strojovom učení. Balíky tiež poskytujú nástroje na organizáciu vykonávania programov v jazykoch Lua, JerryScript, MicroPython, PikaScript a Rust (rtt_rust).

Medzi nové funkcie pridané vo verzii 5.0 patrí výrazne vylepšená podpora pre viacjadrové a viacvláknové systémy (napríklad sieťový zásobník a súborové systémy boli prispôsobené pre viacvláknovú prevádzku a plánovač bol rozdelený na možnosti pre jednojadrové a SMP systémy). Bola pridaná implementácia TLS (Thread Local Storage). Vylepšená bola podpora pre čipy Cortex-A. Výrazne vylepšená podpora pre 64-bitové systémy (zásobník). TCP/IP (Súborové systémy boli overené pre 64-bitové systémy.) Boli integrované komponenty správy flash pamäte. Nástroje na vývoj ovládačov boli prepracované.
Zdroj: opennet.ru


