Даступная аперацыйная сістэма рэальнага часу RT-Thread 5.0

Апублікаваны выпуск RT-Thread 5.0, аперацыйнай сістэмы рэальнага часу (RTOS) для прылад інтэрнэту-рэчаў. Сістэма развіваецца з 2006 года супольнасцю кітайскіх распрацоўшчыкаў і ў цяперашні час партаваная для амаль 200 поплаткаў, чыпаў і мікракантролераў на базе архітэктур x86, ARM, MIPS, З-SKY, Xtensa, ARC і RISC-V. Мінімалістычная зборка RT-Thread (Nano) патрабуе для працы ўсяго 3 КБ Flash і 1.2/2.0 КБ АЗП. Для IoT-прылад, моцна не абмежаваных у рэсурсах, прапануецца поўнафункцыянальная версія, якая падтрымлівае кіраванне пакетамі, канфігуратары, сеткавы стэк, пакеты з рэалізацыяй графічнага інтэрфейсу, сістэмы галасавога кіравання, СКБД, сеткавых сэрвісаў і рухавікоў для выканання скрыптоў. Код напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй Apache XNUMX.

Асаблівасці платформы:

  • Падтрымка архітэктур:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (падтрымліваюцца мікракантролеры такіх вытворцаў, як 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.
  • Пашыраная модульная архітэктура, якая дазваляе сфарміраваць асяроддзе, прыдатнае для сістэм з абмежаванымі рэсурсамі (мінімальныя патрабаванні - 3 КБ Flash і 1.2 КБ АЗП).
  • Падтрымка розных стандартных інтэрфейсаў для распрацоўкі праграм, такіх як POSIX, CMSIS, C++ API. Асобна развіваецца праслойка RTduino для сумяшчальнасці з API і бібліятэкамі праекту Arduino.
  • Магчымасць пашырэння праз сістэму пакетаў і падключаюцца кампанентаў.
  • Падтрымка распрацоўкі прыкладання для высокапрадукцыйнай апрацоўкі інфармацыі.
  • Гнуткая сістэма кіравання сілкаваннем, якая дазваляе аўтаматычна пераводзіць прыладу ў рэжым сну і дынамічна кіраваць напругай і частатой у залежнасці ад нагрузкі.
  • Падтрымка апаратных сродкаў для шыфравання і расшыфроўкі, прадастаўленне бібліятэк з рознымі крыптаграфічнымі алгарытмамі.
  • Уніфікаваны інтэрфейс для доступу да перыферыйных прылад і дадатковага абсталявання.
  • Віртуальная ФС і наяўнасць драйвераў для такіх ФС, як FAT, UFFS, NFSv3, ROMFS і RAMFS.
  • Стэк пратаколаў для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M і да т.п.
  • Сістэма выдаленай дастаўкі і ўсталёўкі абнаўленняў, якая падтрымлівае шыфраванне і верыфікацыю па лічбавым подпісе, аднаўленне перапыненай усталёўкі, аднаўленне пасля збою, адкат змен і да т.п.
  • Сістэма дынамічна загружаных модуляў ядра, якая дазваляе асобна збіраць і распрацоўваць кампаненты ядра, і дынамічна загружаць іх пры з'яўленні неабходнасці.
  • Падтрымка розных іншых пакетаў, напрыклад, Yaffs2, SQLite, FreeModbus, Canopen і да т.п.
  • Магчымасць прамой кампіляцыі BSP-пакета (Board Support Package) з кампанентамі для падтрымкі вызначанай апаратнай платформы, і яго загрузкі на поплатак.
  • Наяўнасць эмулятара (BSP qemu-vexpress-a9), які дазваляе распрацоўваць прыкладанні без выкарыстання рэальных поплаткаў.
  • Падтрымка тыпавых кампілятараў і інструментаў для распрацоўкі, такіх як GCC, MDK Keil і IAR.
  • Развіццё ўласнага інтэграванага асяроддзя распрацоўкі RT-Thread Studio IDE, якая дазваляе ствараць і адладжваць прыкладанні, загружаць іх на поплаткі, кіраваць наладамі. Убудовы для распрацоўкі праграм для RT-Thread таксама даступныя для Eclipse і VS Code.
    Даступная аперацыйная сістэма рэальнага часу RT-Thread 5.0
  • Наяўнасць кансольнага інтэрфейсу Env, які спрашчае стварэнне праектаў і наладу асяроддзя.
    Даступная аперацыйная сістэма рэальнага часу RT-Thread 5.0

Аперацыйную сістэму ўтвараюць тры базавыя пласты:

  • Ядро, якое забяспечвае выкананне задач у рэжыме рэальнага часу. Ядро падае ўніверсальныя базавыя прымітывы, якія ахопліваюць такія вобласці, як кіраванне блакіроўкамі і сінхранізацыяй дадзеных, планаванне задач, кіраванне струменямі, апрацоўка сігналаў, чэргі паведамленняў, кіраванне таймерам, кіраванне памяццю. Спецыфічныя для апаратнага забеспячэння асаблівасці рэалізаваны на ўзроўні libcpu і BSP, якія ўключаюць неабходныя драйверы і код для падтрымкі CPU.
  • Кампаненты і сэрвісы, якія працуюць па-над ядром і прапануюць такія абстракцыі як віртуальная файлавая сістэма, сістэма апрацоўкі выключэнняў, сховішча ў фармаце ключ/значэнне, інтэрфейс каманднага радка FinSH, сеткавы стэк (LwIP) і сеткавыя фрэймворкі, бібліятэкі для падтрымкі прылад, гукавая падсістэма, бесправадны Стэк, кампаненты для падтрымкі Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архітэктура дазваляе далучаць кампаненты і сэрвісы ў залежнасці ад сваіх задач і наяўных апаратных рэсурсаў.
  • Пакеты праграм. Праграмныя кампаненты агульнага прызначэння і бібліятэкі функцый распаўсюджваюцца і ўстанаўліваюцца ў форме пакетаў. У цяперашні час рэпазітар уключае больш за 450 пакетаў, якія прапануюць ад графічных інтэрфейсаў, мультымедыйных прыкладанняў і сеткавых прыкладанняў да сістэм кіравання робатамі і апрацоўшчыкаў на базе машыннага навучання. У пакетах таксама пастаўляюцца рухавікі для арганізацыі выканання праграм на мовах Lua, JerryScript, MicroPython, PikaScript і Rust (rtt_rust).

Даступная аперацыйная сістэма рэальнага часу RT-Thread 5.0

З новых магчымасцяў, дададзеных у версіі 5.0 можна адзначыць значнае паляпшэнне падтрымкі шмат'ядравых і шматструменных сістэм (напрыклад, для працы ў шматструменным рэжыме адаптаваны сеткавы стэк і файлавыя сістэмы, планавальнік падзелены на варыянты для аднаядзерных сістэм і SMP). Дададзена рэалізацыя TLS (Thread Local Storage). Палепшана падтрымка чыпаў Cortex-A. Значна палепшана падтрымка 64-разрадных сістэм (стэк TCP/IP і файлавыя сістэмы верыфікаваны для 64-разрадных сістэм). Інтэграваныя кампаненты кіравання Flash-памяццю. Перапрацаваны інструментарый для стварэння драйвераў.

Крыніца: opennet.ru

Дадаць каментар