RT-Thread, isang real-time na OS para sa mga IoT device

RT-Thread

Ang RT-Thread ay isang open source, neutral, at real-time na operating system (RTOS) na nakabatay sa komunidad.

Kamakailan ay naging kilala ang paglabas ng bagong bersyon ng operating system «RT-Thread 5.0», na nakaposisyon bilang isang real-time na OS (RTOS) para sa mga IoT device.

Ang system ay binuo mula noong 2006 ng isang komunidad ng mga Chinese developer at kasalukuyang naka-port sa halos 200 board, chip, at microcontroller batay sa x86, ARM, MIPS, C-SKY, Xtensa, ARC, at RISC-V na mga arkitektura.

Ang minimalist na bersyon ng RT-Thread (Nano) ay nangangailangan lamang ng 3KB ng Flash at 1,2KB ng RAM upang tumakbo. Para sa mga IoT device na hindi masyadong nalilimitahan sa mga mapagkukunan, inaalok ang isang buong bersyon na sumusuporta sa pamamahala ng package, mga configurator, network stack, mga package na may pagpapatupad ng isang graphical na interface, voice control system, DBMS, mga serbisyo sa network, at mga engine. upang magpatakbo ng mga script.

Mga Tampok ng RT-Thread

Ang operating system ay binubuo ng tatlong pangunahing mga layer:

  1. Isang kernel na gumaganap ng mga gawain sa real time. Ang kernel ay nagbibigay ng mga generic na pangunahing primitive na sumasaklaw sa mga lugar tulad ng lock at data synchronization management, task scheduling, thread management, signal management, message queuing, timer management, at memory management. Ipinapatupad ang mga feature na partikular sa hardware sa antas ng libcpu at BSP, na kinabibilangan ng mga driver at code na kinakailangan upang suportahan ang CPU.
  2. Mga bahagi at serbisyo na tumatakbo sa ibabaw ng kernel at nag-aalok ng mga abstraction tulad ng virtual file system, exception handling system, key/value storage, FinSH command line interface, network stack (LwIP) at network frameworks, mga library para sa suporta sa device, sound subsystem , wireless stack, mga bahaging compatible sa Wi-Fi, LoRa, Bluetooth, 2G/4G. Binibigyang-daan ka ng modular architecture na ikonekta ang mga bahagi at serbisyo batay sa iyong mga gawain at magagamit na mapagkukunan ng hardware.
  3. Mga pakete ng programa. Ang mga bahagi ng software ng pangkalahatang layunin at mga library ng function ay ipinamamahagi at naka-install sa anyo ng mga pakete.
    Ang repositoryo ay kasalukuyang may kasamang higit sa 450 mga pakete mula sa mga GUI, multimedia application, at network application hanggang sa robot control system at machine learning processor.

RT-Thread nagtatampok ng extensible modular architecture ito nagbibigay-daan sa iyo na lumikha ng angkop na kapaligiran para sa mga system na may limitadong mapagkukunan (minimum na kinakailangan: 3 KB ng Flash at 1,2 KB ng RAM), bilang karagdagan sa pagkakaroon din ng compatibility sa ilang karaniwang interface para sa pag-develop ng program, gaya ng POSIX, CMSIS, C++ API. Hiwalay, ang RTduino layer ay binuo upang maging tugma sa Arduino project API at mga library.

Ang isa pang tampok na namumukod-tangi ay ang nababaluktot na sistema ng pamamahala ng kuryente na awtomatikong inilalagay ang device sa sleep mode at dynamic na namamahala sa boltahe at frequency depende sa load.

Mayroon din itong suporta sa hardware para sa pag-encrypt at pag-decryption, na nagbibigay sa mga aklatan ng iba't ibang cryptographic algorithm.

Bilang karagdagan dito, mayroon din itong sistema para sa pagpapadala at malayuang pag-install ng mga update na sumusuporta sa pag-encrypt at pag-verify sa pamamagitan ng isang digital na lagda, pagpapatuloy ng naantala na pag-install, pagbawi mula sa isang pagkabigo, pagbabalik ng mga pagbabago, atbp.

Pati na rin ang isang sistema ng mga dynamic na na-load na kernel module na nagbibigay-daan sa iyong lumikha at bumuo ng mga bahagi ng kernel nang hiwalay at dynamic na i-load ang mga ito kapag kinakailangan.

Sa iba pang mga katangian matindi yan:

  • Suporta para sa iba't ibang mga third-party na pakete tulad ng Yaffs2, SQLite, FreeModbus, Canopen, atbp.
  • Suporta para sa mga karaniwang compiler at development tool gaya ng GCC, MDK Keil, at IAR.
  • Pagbuo ng isang pinagsama-samang kapaligiran sa pag-unlad na RT-Thread Studio IDE, na nagbibigay-daan sa pagbuo at pag-debug ng mga application, pag-upload ng mga ito sa mga dashboard, at pamamahala ng mga configuration. Available din ang RT-Thread development plugins para sa Eclipse at VS Code.
  • Ang pagkakaroon ng Env console interface, na pinapasimple ang paglikha ng mga proyekto at ang pagsasaayos ng kapaligiran.
  • Ang kakayahang direktang mag-compile ng BSP package
  • Napapalawak sa pamamagitan ng isang sistema ng mga pakete at plugin.
  • Pinag-isang interface para sa pag-access sa mga peripheral na device at karagdagang kagamitan.
  • Suporta para sa pagbuo ng isang aplikasyon para sa mataas na pagganap ng pagproseso ng impormasyon.
  • Virtual FS at availability ng driver para sa FS

Tungkol sa RT-Thread 5.0

Tungkol sa mga bagong function na idinagdag sa bersyon 5.0, mapapansin ng isa ang a Malaking pagpapabuti sa suporta para sa multicore at multithreaded system (Halimbawa, ang network stack at mga file system ay iniangkop upang gumana sa multithreaded mode.

Ang isa pang bagong novelty ay ang Ang scheduler ay nahahati sa mga opsyon para sa single-core at SMP system, pati na rin ang idinagdag na pagpapatupad ng TLS (Thread Local Storage).

Bilang karagdagan dito, itinatampok din nito ang pinahusay na suporta para sa Cortex-A chips, makabuluhang pinabuting compatibility para sa 64-bit system (na-verify na mga file system at TCP/IP stack para sa 64-bit system) at pinagsama-samang Flash memory management component, pati na rin ang na ang mga tool para sa paglikha ng mga controller ay muling idinisenyo.

Para sa mga interesado sa sistemang ito, dapat nilang malaman na ang code ay nakasulat sa wikang C at ipinamahagi sa ilalim ng lisensya ng Apache 2.0.

Maaari mong tingnan ang higit pang mga detalye sa ang sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.