RT-Thread 5.3 нақты уақыттағы операциялық жүйе қол жетімді

Заттар интернеті құрылғыларына арналған нақты уақыт режиміндегі операциялық жүйе (RTOS) RT-Thread 5.3 шығарылды. 2006 жылдан бері қытайлық әзірлеушілер қауымдастығы әзірлеген ол қазір x86, ARM, MIPS, C-SKY, Xtensa, ARC және RISC-V архитектураларына негізделген 155 платаға, чипке және микроконтроллерге портталды. RT-Thread (Nano) минималистік құрастыруы тек 3 КБ флэш-жадты және 1.2 КБ жедел жадты қажет етеді. Шексіз ресурстар шектеулері бар IoT құрылғылары үшін пакеттерді басқаруды, конфигураторларды, желілік стектерді, GUI пакеттерін, дауыстық басқару жүйелерін, ДББЖ-ны, желілік қызметтерді және сценарий қозғалтқыштарын қолдайтын толық функционалды нұсқасы қолжетімді. Код C тілінде жазылған және Apache 2.0 лицензиясы бойынша таратылады.

Операциялық жүйе үш негізгі қабаттан тұрады:

  • Тапсырмаларды нақты уақытта орындайтын ядро. Ядро құлыптауды және деректерді синхрондауды басқару, тапсырмаларды жоспарлау, ағынды басқару, сигналдарды өңдеу, хабарламалар кезегін, таймерді басқару, жадты басқару сияқты аймақтарды қамтитын жалпы негізгі примитивтерді қамтамасыз етеді. Аппараттық құралдарға тән мүмкіндіктер libcpu және BSP деңгейінде жүзеге асырылады, олар процессорды қолдау үшін қажетті драйверлер мен кодты қамтиды.
  • Ядроның үстінде жұмыс істейтін және виртуалды файлдық жүйе, ерекшеліктерді өңдеу жүйесі, кілт/мәнді сақтау, FinSH пәрмен жолы интерфейсі, желілік стек (LwIP) және желілік шеңберлер, құрылғыны қолдауға арналған кітапханалар, дыбыстық ішкі жүйе сияқты абстракцияларды ұсынатын компоненттер мен қызметтер, сымсыз стек, Wi-Fi, LoRa, Bluetooth, 2G/4G қолдайтын құрамдас бөліктер. Модульдік архитектура тапсырмалар мен қолжетімді аппараттық ресурстарға байланысты құрамдас бөліктер мен қызметтерді қосуға мүмкіндік береді.
  • Бағдарламалық қамтамасыз ету пакеттері. Жалпы мақсаттағы бағдарламалық құралдың құрамдас бөліктері мен функциялық кітапханалар пакеттер түрінде таратылады және орнатылады. Қазіргі уақытта репозиторий графикалық интерфейстерден, мультимедиялық қолданбалардан және желілік қосымшалардан роботты басқару жүйелеріне және машиналық оқыту процессорларына дейінгі 450-ден астам пакеттерді қамтиды. Пакеттер сонымен қатар Lua, JerryScript, MicroPython, PikaScript және Rust (rtt_rust) бағдарламаларының орындалуын ұйымдастыруға арналған қозғалтқыштарды қамтамасыз етеді.

Платформа мүмкіндіктері:

  • Архитектуралық қолдау:
    • 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 (Фулхан).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (елеу, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • с-аспан.
    • x86.
  • Шектеулі ресурстары бар жүйелер үшін қолайлы ортаны құруға мүмкіндік беретін кеңейтілетін модульдік архитектура (ең аз талаптар – 3 КБ Flash және 1.2 Кбайт жедел жады).
  • POSIX, CMSIS, C++ API сияқты бағдарламаларды әзірлеуге арналған әртүрлі стандартты интерфейстерді қолдау. Ардуино жобасының API және кітапханаларымен үйлесімділік үшін RTduino қабаты бөлек әзірленуде.
  • Пакеттер мен плагиндер жүйесі арқылы кеңейтуге болады.
  • Жоғары өнімді ақпаратты өңдеуге арналған қосымшаны әзірлеуге қолдау көрсету.
  • Құрылғыны автоматты түрде ұйқы режиміне қоятын және жүктемеге байланысты кернеу мен жиілікті динамикалық түрде басқаратын икемді қуатты басқару жүйесі.
  • Кітапханаларды әртүрлі криптографиялық алгоритмдермен қамтамасыз ететін шифрлау және шифрды шешу үшін аппараттық қолдау.
  • Перифериялық құрылғыларға және қосымша жабдыққа қол жеткізу үшін бірыңғай интерфейс.
  • Виртуалды FS және FAT, UFFS, NFSv3, ROMFS және RAMFS сияқты FS үшін драйверлердің болуы.
  • Хаттама стегі 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 үшін де қол жетімді.
  • Жобаларды құруды және ортаны орнатуды жеңілдететін Env консоль интерфейсінің болуы.

Жаңа шығарылымдағы өзгерістердің арасында:

  • Rust тіліндегі компоненттерді әзірлеуді қолдау кеңейтілді. Ағындар, мутекстер, семафоралар, хабарлама кезектері, сондай-ақ жадпен, уақытпен және файлдармен операциялар үшін Rust байланыстары қосылды. SCons және Cargo-мен интеграциялауға арналған компоненттер енді енгізілді. ARM, AArch64 және RISC-V мақсатты платформаларын автоматты түрде анықтау енді қолжетімді. Бастапқылау және командаларды тіркеу үшін процедуралық макростар қосылды.
  • Cortex-M микроконтроллерлері үшін Device Tree арқылы перифериялық сипаттамасы бар Open Firmware стандартын қолдау қосылған.
  • Пакеттік кезектерді, MMIO/PCI тасымалдауларын және DMA синхрондауын пайдалану мүмкіндігімен VirtIO 1.2 нұсқасына қолдау қосылды. 9P, крипто, RNG, SCMI және SCSI үшін VirtIO драйверлері қосылды. Желілік, блоктық құрылғылар, консоль, енгізу құрылғылары және GPU үшін VirtIO драйверлері жаңартылды.
  • Динамикалық процессор мен құрылғы жиілігін басқару үшін DVFS (динамикалық кернеу мен жиілікті масштабтау) құрылымы қосылды. Қуатты басқару үшін ARM SCMI микробағдарламасымен интеграция қамтамасыз етілді. Желдеткішті басқару жақсартылды.
  • TEE (Сенімді орындау ортасы) орталарына және RPMSG (Қашықтан процессорға хабар жіберу) хабар алмасу механизміне қолдау қосылды.
  • Unix сокеттерін қолдау жүзеге асырылды.
  • WPA3, EA (Кәсіпорын аутентификациясы), WAPI, OWE және DPP сымсыз желі қауіпсіздік механизмдеріне қолдау қосылды.
  • PTP (Precision Time Protocol) уақыт синхрондау хаттамасына қолдау қосылды.
  • Уақытпен жұмыс істеу үшін Clock Time құрылымы қосылды, жоғары дәлдіктегі таймерлерді және бірнеше көздер арасында уақытты синхрондауды қолдайды. Жаңа құрылым бұрын қолданылған ktime, cputime және hwtimer компоненттерін ауыстырады.
  • Хост ортасы мен виртуалды машиналар арасында файлдармен алмасу үшін қолданылатын 9PFS файлдық жүйесі енгізілді.
  • Жеңіл процестерді (lwP) енгізу енді ARM архитектурасын қолдайды және өңдегіштерді ядродан пайдаланушы кеңістігіне жылжытуға және контексттік ауысулардан аулақ болуға мүмкіндік беретін vDSO (виртуалды динамикалық ортақ объект) механизмін қолдайды.
  • Ядро 8 және 16 биттік атомдық операцияларды қолдайды.
  • XuanTie C/R сериялы RISC-V процессорлары және QEMU virt64 эмуляторы үшін симметриялы көп өңдеу (SMP) қолдауы қосылды.
  • CherryUSB USB жинағы 1.6.1 нұсқасына жаңартылды.
  • UFS, AHCI, NVMe, Ethernet, Intel HDA, джойстиктер және сенсорлық экрандар үшін жаңа DM драйверлері (Device Manager) қосылды.

Ақпарат көзі: opennet.ru

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster