RT-Thread 5.0 reaaliaikainen käyttöjärjestelmä saatavilla

RT-Thread 5.0, IoT-laitteiden reaaliaikainen käyttöjärjestelmä (RTOS), on julkaistu. Kiinalainen kehittäjäyhteisö on kehittänyt järjestelmää vuodesta 2006 lähtien, ja se on tällä hetkellä siirretty lähes 200:lle x86-, ARM-, MIPS-, C-SKY-, Xtensa-, ARC- ja RISC-V-arkkitehtuureihin perustuvalle kortille, sirulle ja mikro-ohjaimelle. Minimalistinen RT-Thread (Nano) vaatii toimiakseen vain 3 kt Flashia ja 1.2 kt RAM-muistia. IoT-laitteille, joiden resurssit eivät ole voimakkaasti rajoitettuja, tarjotaan täysi versio, joka tukee pakettien hallintaa, konfiguraattoreita, verkkopinoa, paketteja graafisen käyttöliittymän toteutuksella, puheohjausjärjestelmää, DBMS:ää, verkkopalveluita ja moottoreita suoritusta varten. käsikirjoituksia. Koodi on kirjoitettu C-kielellä ja jaettu Apache 2.0 -lisenssillä.

Alustan ominaisuudet:

  • Arkkitehtuurin tuki:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mikro-ohjaimet valmistajilta kuten ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP ovat tuettuja).
    • 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-taivas.
    • x86.
  • Laajentuva modulaarinen arkkitehtuuri, jonka avulla voit luoda ympäristön, joka sopii järjestelmille, joilla on rajalliset resurssit (minimivaatimukset - 3 kt Flash ja 1.2 kt RAM).
  • Tuki erilaisille standardiliittymille ohjelmien kehittämiseen, kuten POSIX, CMSIS, C++ API. RTduino-kerrosta kehitetään erikseen yhteensopivaksi Arduino-projektin API:n ja kirjastojen kanssa.
  • Laajennettavissa pakettien ja lisäosien järjestelmän kautta.
  • Tuki tehokkaan tiedonkäsittelyn sovelluksen kehittämiseen.
  • Joustava virranhallintajärjestelmä, joka asettaa laitteen automaattisesti lepotilaan ja hallitsee dynaamisesti jännitettä ja taajuutta kuormituksesta riippuen.
  • Laitteistotuki salaukselle ja salauksen purkamiselle, joka tarjoaa kirjastoille erilaisia ​​salausalgoritmeja.
  • Yhtenäinen käyttöliittymä oheislaitteiden ja lisälaitteiden käyttöön.
  • Virtuaalinen FS ja FS-ajurien saatavuus, kuten FAT, UFFS, NFSv3, ROMFS ja RAMFS.
  • Protokollapino TCP/IP:lle, Ethernetille, Wi-Fi:lle, Bluetoothille, NB-IoT:lle, 2G/3G/4G:lle, HTTP:lle, MQTT:lle, LwM2M:lle jne.
  • Järjestelmä päivitysten etätoimitukseen ja -asennukseen, joka tukee salausta ja digitaalisella allekirjoituksella varmennusta, keskeytetyn asennuksen jatkamista, häiriöstä toipumista, muutosten peruuttamista jne.
  • Dynaamisesti ladattavien ydinmoduulien järjestelmä, jonka avulla voit rakentaa ja kehittää kernelkomponentteja erikseen ja ladata niitä dynaamisesti tarvittaessa.
  • Tuki useille kolmansien osapuolien paketeille, kuten Yaffs2, SQLite, FreeModbus, Canopen jne.
  • Mahdollisuus koota suoraan BSP-paketti (Board Support Package) komponenteilla, jotka tukevat tiettyä laitteistoalustaa, ja ladata se levylle.
  • Emulaattorin (BSP qemu-vexpress-a9) läsnäolo, jonka avulla voit kehittää sovelluksia ilman oikeita levyjä.
  • Tuki yleisille kääntäjille ja kehitystyökaluille, kuten GCC, MDK Keil ja IAR.
  • Oman integroidun kehitysympäristömme RT-Thread Studio IDE kehittäminen, jonka avulla voit luoda ja korjata sovelluksia, ladata niitä levyille ja hallita asetuksia. RT-Thread-kehityslaajennukset ovat saatavilla myös Eclipselle ja VS Codelle.
    RT-Thread 5.0 reaaliaikainen käyttöjärjestelmä saatavilla
  • Env-konsolirajapinnan läsnäolo, joka yksinkertaistaa projektien luomista ja ympäristön määrittämistä.
    RT-Thread 5.0 reaaliaikainen käyttöjärjestelmä saatavilla

Käyttöjärjestelmä koostuu kolmesta peruskerroksesta:

  • Ydin, joka suorittaa tehtäviä reaaliajassa. Ydin tarjoaa yleiset ydinprimitiivit, jotka kattavat sellaiset alueet kuin lukituksen ja tietojen synkronoinnin hallinnan, tehtävien ajoituksen, säikeiden hallinnan, signaalinkäsittelyn, viestijonon, ajastimen hallinnan ja muistinhallinnan. Laitteistokohtaiset ominaisuudet on toteutettu libcpu- ja BSP-tasolla, jotka sisältävät tarvittavat ajurit ja koodin CPU:ta tukemaan.
  • Komponentit ja palvelut, jotka toimivat ytimen päällä ja tarjoavat abstraktioita, kuten virtuaalinen tiedostojärjestelmä, poikkeusten käsittelyjärjestelmä, avain/arvovarasto, FinSH-komentoriviliittymä, verkkopino (LwIP) ja verkkokehykset, laitetuen kirjastot, äänialijärjestelmä, langaton pino, komponentit tukevat Wi-Fiä, LoRa, Bluetooth, 2G/4G. Modulaarisen arkkitehtuurin avulla voit yhdistää komponentteja ja palveluita tehtävistäsi ja käytettävissä olevista laitteistoresursseista riippuen.
  • Ohjelmistopaketit. Yleiskäyttöiset ohjelmistokomponentit ja toimintokirjastot jaetaan ja asennetaan pakettien muodossa. Arkisto sisältää tällä hetkellä yli 450 pakettia graafisista käyttöliittymistä, multimedia- ja verkkosovelluksista robottiohjausjärjestelmiin ja koneoppimisprosessoreihin. Paketit sisältävät myös moottoreita ohjelmien suorittamisen järjestämiseen Lua-, JerryScript-, MicroPython-, PikaScript- ja Rust-kielillä (rtt_rust).

RT-Thread 5.0 reaaliaikainen käyttöjärjestelmä saatavilla

Versiossa 5.0 lisätyistä uusista ominaisuuksista voidaan todeta merkittävä parannus moniytimis- ja monisäikeisten järjestelmien tuessa (esim. verkkopino ja tiedostojärjestelmät on sovitettu toimimaan monisäikeisessä tilassa, ajastin on jaettu vaihtoehdoiksi yksiytimisille järjestelmille ja SMP:lle). Lisätty TLS:n (Thread Local Storage) toteutus. Parannettu tuki Cortex-A-siruille. Merkittävästi parannettu tuki 64-bittisille järjestelmille (TCP/IP-pino ja tiedostojärjestelmät vahvistettu 64-bittisille järjestelmille). Integroidut Flash-muistin hallintakomponentit. Ohjainten luontityökalut on suunniteltu uudelleen.

Lähde: opennet.ru

Lisää kommentti