RT-Thread 5.1 rafitra miasa amin'ny fotoana tena izy navoaka

ПослС Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ доступСн выпуск RT-Thread 5.1, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTOS) для устройств ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°-Π²Π΅Ρ‰Π΅ΠΉ. БистСма развиваСтся с 2006 Π³ΠΎΠ΄Π° сообщСством китайских Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π² настоящСС врСмя ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для 154 ΠΏΠ»Π°Ρ‚, Ρ‡ΠΈΠΏΠΎΠ² ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x86, ARM, MIPS, Π‘-SKY, Xtensa, ARC ΠΈ RISC-V. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½Π°Ρ сборка RT-Thread (Nano) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСго 3 ΠšΠ‘ Flash ΠΈ 1.2 ΠšΠ‘ ΠžΠ—Π£. Для IoT-устройств, сильно Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… Π² рСсурсах, прСдлагаСтся ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ вСрсия, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Ρ‹, сСтСвой стСк, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ графичСского интСрфСйса, систСмы голосового управлСния, Π‘Π£Π‘Π”, сСтСвых сСрвисов ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ² для выполнСния скриптов. Код написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Ny rafitra miasa dia misy sosona fototra telo:

  • Kernel mamela ny asa hotanterahina amin'ny fotoana tena izy. Ny kernel dia manome primitives fototra miompana amin'ny sehatra toy ny fitantanana hidin-trano sy ny fampifanarahana ny angon-drakitra, ny fandaharam-potoanan'ny asa, ny fitantanana ny kofehy, ny fikarakarana famantarana, ny filaharana hafatra, ny fitantanana ny famerana ary ny fitantanana fahatsiarovana. Ny endri-javatra manokana amin'ny Hardware dia ampiharina amin'ny ambaratonga libcpu sy BSP, izay ahitana ny mpamily sy kaody ilaina hanohanana ny CPU.
  • Ireo singa sy serivisy izay mihazakazaka eo an-tampon'ny kernel ary manolotra abstractions toy ny rafitra virtoaly virtoaly, rafitra fitantanana miavaka, fitahirizana fanalahidy / sanda, interface tsara andalana FinSH, tamba-jotra (LwIP) ary rafitra tambajotra, tranomboky fanohanana fitaovana, subsystem audio, Wireless stack, singa hanohanana Wi-Fi, LoRa, Bluetooth, 2G/4G. Ny rafitra modular dia ahafahanao mampifandray ireo singa sy serivisy miankina amin'ny asanao sy ny loharanon-karena misy.
  • Fonosana rindrambaiko. Ny singa rindrambaiko amin'ny tanjona ankapobeny sy ny tranomboky miasa dia zaraina sy apetraka amin'ny endrika fonosana. Ny tahiry amin'izao fotoana izao dia misy fonosana mihoatra ny 450, manolotra ny zava-drehetra manomboka amin'ny interface an-tsary, fampiharana multimedia ary rindranasa amin'ny tambajotra mankany amin'ny rafitra fanaraha-maso robot sy processeur mifototra amin'ny milina. Ny fonosana koa dia manome motera amin'ny fandaminana ny fanatanterahana ny programa amin'ny fiteny Lua, JerryScript, MicroPython, PikaScript ary Rust (rtt_rust).

RT-Thread 5.1 rafitra miasa amin'ny fotoana tena izy navoaka

Endriky ny sehatra:

  • Fanohanana Architecture:
    • ARM Cortex-M0 / M0 + / M3 / M4 / M7 / M23 / M33 (microcontrollers avy amin'ny mpanamboatra toa ny ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP dia tohanana).
    • 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.
  • Extensible modular architecture izay ahafahanao mamorona tontolo mifanaraka amin'ny rafitra misy loharanon-karena voafetra (fangatahana kely indrindra - Flash 3 KB ary RAM 1.2 KB).
  • Fanohanana interface tsara isan-karazany ho an'ny fampandrosoana ny programa, toy ny POSIX, CMSIS, C++ API. Ny sosona RTduino dia novolavolaina misaraka mba hifanaraka amin'ny tetikasa Arduino API sy ny tranomboky.
  • Ny mety ho fanitarana amin'ny alΓ lan'ny rafitra fonosana sy singa plug-in.
  • Fanohanana ny fampivoarana ny fampiharana ho an'ny fanodinana fampahalalana mahomby.
  • Ny rafi-pitantanana herinaratra flexible izay ahafahanao mametraka ho azy amin'ny fomba fatoriana ny fitaovana ary mifehy ny voltora sy ny matetika arakaraka ny entana.
  • Fanohanana fitaovana ho an'ny encryption sy decryption, fanomezana tranomboky misy algorithm kriptografika isan-karazany.
  • Interface mitambatra ho an'ny fidirana amin'ny fitaovana periferika sy fitaovana fanampiny.
  • Rafitra fisie virtoaly sy ny fisian'ny mpamily ho an'ny rafitra rakitra toy ny FAT, UFFS, NFSv3, ROMFS ary RAMFS.
  • Stack protocol ho an'ny TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, sns.
  • Rafitra fanaterana lavitra sy fametrahana fanavaozam-baovao izay manohana ny fanafenana sy fanamarinana amin'ny fampiasana sonia nomerika, mamerina ny fametrahana tapaka, miverina amin'ny tsy fahombiazana, mamerina ny fanovana, sns.
  • Rafitra misy maody kernel feno dynamically izay ahafahanao manangana sy mamolavola ireo singa kernel, ary mampiditra azy ireo amin'ny fomba mavitrika rehefa ilaina izany.
  • Manohana fonosana antoko fahatelo isan-karazany, toy ny Yaffs2, SQLite, FreeModbus, Canopen, sns.
  • Ny fahafahana manangona mivantana ny fonosana BSP (Board Support Package) miaraka amin'ireo singa hanohanana sehatra hardware manokana, ary hampiditra izany eo amin'ny solaitrabe.
  • Ny fisian'ny emulator (BSP qemu-vexpress-a9), izay ahafahanao mamolavola rindranasa tsy mampiasa boards tena izy.
  • Fanohanana ireo mpamoron-kira mahazatra sy fitaovana fampandrosoana toy ny GCC, MDK Keil ary IAR.
  • Fampivoarana ny tontolo iainantsika manokana RT-Thread Studio IDE, izay ahafahanao mamorona sy mi-debug ny rindranasa, mametraka azy ireo eo amin'ny solaitrabe, ary mitantana ny fandrindrana. Ny plugins fampandrosoana ho an'ny RT-Thread dia misy ihany koa ho an'ny Eclipse sy VS Code.
  • Ny fisian'ny Env console interface tsara, izay manamora ny famoronana tetikasa sy ny fametrahana ny tontolo iainana.

Anisan'ireo fanovana tamin'ny famoahana vaovao:

  • Π’ RT-Smart, Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π½Π° Π±Π°Π·Π΅ RT-Thread, ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ прилоТСния ΠΎΡ‚ ядра, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² epoll, eventfd, signalfd, timerfd ΠΈ select. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° подсистСма эмулятора Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° устройств DFZU2EG MPSoC ΠΈ cv181x-riscv.
  • Π’ RTduino, слой для обСспСчСния совмСстимости с экосистСмой Arduino, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚ raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ сторонниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ssh, sftp, weston ΠΈ vim.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ ΠΈ Ρ‡ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Π·Π°Π΄Π°Ρ‡ ΠΈ CPU. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° прослойка для абстрагирования ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° rt_sched.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° многоядСрных систСмах.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ опСрациям выдСлСния памяти malloc.
  • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ARM64 ΠΈ RV64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ трассировки (backtrace) ядра.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡƒΡŽ модСль Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств.
  • Π’ virtio-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… qemu-virt64-aarch64 ΠΈ qemu-virt64-riscv Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SDL2.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² clk.
  • Π’ DFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° конфигурация exfat. Π―Π΄Ρ€ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° использованиС Π€Π‘ dfsv2.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° TTY-Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ².
  • Π’ систСмС Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ² O_DIRECT ΠΈ O_SYNC.
  • Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ лСгковСсных процСссов lwP (Lightweight Process) функция wp_new Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° lwp_create. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция sys_setitimer.
  • Π’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ памяти MM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° рСзСрвирования памяти ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция rt_aspace_mremap_range.
  • Π’ Libcpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° процСссоров ARM Cortex-M85 ΠΈ Cortex-R52

Source: opennet.ru

Add a comment