RT-Thread 5.0 sanntidsoperativsystem tilgjengelig

Utgivelsen av RT-Thread 5.0, et sanntidsoperativsystem (RTOS) for Internet of Things-enheter, har blitt publisert. Systemet har blitt utviklet siden 2006 av et fellesskap av kinesiske utviklere og har for tiden blitt portert til nesten 200 kort, brikker og mikrokontrollere basert på x86, ARM, MIPS, C-SKY, Xtensa, ARC og RISC-V arkitekturer. Den minimalistiske RT-Thread (Nano)-konstruksjonen krever bare 3 KB Flash og 1.2 KB RAM for å fungere. For IoT-enheter som ikke er veldig begrenset i ressurser, tilbys en fullverdig versjon som støtter pakkehåndtering, konfiguratorer, en nettverksstabel, pakker med implementering av et grafisk grensesnitt, stemmekontrollsystemer, DBMS, nettverkstjenester og motorer for utførelse skript. Koden er skrevet i C og distribuert under Apache 2.0-lisensen.

Plattformfunksjoner:

  • Arkitekturstøtte:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mikrokontrollere fra produsenter som ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP støttes).
    • 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.
  • Utvidbar modulær arkitektur som lar deg lage et miljø som passer for systemer med begrensede ressurser (minstekrav - 3 KB Flash og 1.2 KB RAM).
  • Støtte for ulike standardgrensesnitt for programutvikling, som POSIX, CMSIS, C++ API. RTduino-laget utvikles separat for kompatibilitet med Arduino-prosjektets API og biblioteker.
  • Mulighet for utvidelse gjennom et system av pakker og plug-in komponenter.
  • Støtte for applikasjonsutvikling for informasjonsbehandling med høy ytelse.
  • Fleksibelt strømstyringssystem som lar deg automatisk sette enheten i hvilemodus og dynamisk kontrollere spenning og frekvens avhengig av belastningen.
  • Maskinvarestøtte for kryptering og dekryptering, levering av biblioteker med forskjellige kryptografiske algoritmer.
  • Samlet grensesnitt for tilgang til eksterne enheter og tilleggsutstyr.
  • Virtuelt filsystem og tilgjengelighet av drivere for filsystemer som FAT, UFFS, NFSv3, ROMFS og RAMFS.
  • Protokollstabel for TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Et system for ekstern levering og installasjon av oppdateringer som støtter kryptering og verifisering ved hjelp av en digital signatur, gjenoppta en avbrutt installasjon, gjenoppretting etter feil, tilbakestilling av endringer, etc.
  • Et system med dynamisk lastede kjernemoduler som lar deg bygge og utvikle kjernekomponenter separat, og dynamisk laste dem når det er nødvendig.
  • Støtter ulike tredjepartspakker, som Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • Muligheten til å kompilere en BSP-pakke (Board Support Package) direkte med komponenter for å støtte en spesifikk maskinvareplattform, og laste den inn på brettet.
  • Tilgjengelighet av en emulator (BSP qemu-vexpress-a9), som lar deg utvikle applikasjoner uten å bruke ekte brett.
  • Støtte for vanlige kompilatorer og utviklingsverktøy som GCC, MDK Keil og IAR.
  • Utvikling av vårt eget integrerte utviklingsmiljø RT-Thread Studio IDE, som lar deg lage og feilsøke applikasjoner, laste dem inn på tavler og administrere innstillinger. Utviklingsplugins for RT-Thread er også tilgjengelig for Eclipse og VS Code.
    RT-Thread 5.0 sanntidsoperativsystem tilgjengelig
  • Tilstedeværelsen av Env-konsollgrensesnittet, som forenkler opprettelsen av prosjekter og setter opp miljøet.
    RT-Thread 5.0 sanntidsoperativsystem tilgjengelig

Operativsystemet består av tre grunnleggende lag:

  • En kjerne som lar oppgaver utføres i sanntid. Kjernen gir generiske kjerneprimitiver som dekker områder som låseadministrasjon og datasynkronisering, oppgaveplanlegging, trådhåndtering, signalhåndtering, meldingskø, tidtakeradministrasjon og minneadministrasjon. Maskinvarespesifikke funksjoner er implementert på libcpu- og BSP-nivåene, som inkluderer nødvendige drivere og kode for å støtte CPU.
  • Komponenter og tjenester som kjører på toppen av kjernen og tilbyr abstraksjoner som et virtuelt filsystem, unntakshåndteringssystem, nøkkel/verdilagring, FinSH kommandolinjegrensesnitt, nettverksstack (LwIP) og nettverksrammeverk, enhetsstøttebiblioteker, lydundersystem, trådløs stabel, komponenter som støtter Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulær arkitektur lar deg koble til komponenter og tjenester avhengig av oppgavene dine og tilgjengelige maskinvareressurser.
  • Programvarepakker. Generelle programvarekomponenter og funksjonsbiblioteker distribueres og installeres i form av pakker. Lagret inkluderer for tiden mer enn 450 pakker, som tilbyr alt fra grafiske grensesnitt, multimediaapplikasjoner og nettverksapplikasjoner til robotkontrollsystemer og maskinlæringsbaserte prosessorer. Pakkene gir også motorer for å organisere kjøringen av programmer på språkene Lua, JerryScript, MicroPython, PikaScript og Rust (rtt_rust).

RT-Thread 5.0 sanntidsoperativsystem tilgjengelig

Blant de nye funksjonene som er lagt til i versjon 5.0, kan vi merke oss en betydelig forbedring i støtte for flerkjerne- og flertrådssystemer (for eksempel er nettverksstakken og filsystemene tilpasset for å jobbe i flertrådsmodus, planleggeren er delt inn i alternativer for enkeltkjernesystemer og SMP). Lagt til implementering av TLS (Thread Local Storage). Forbedret støtte for Cortex-A-brikker. Betydelig forbedret støtte for 64-bits systemer (TCP/IP stack og filsystemer er verifisert for 64-bits systemer). Flash-minneadministrasjonskomponenter er integrert. Verktøysettet for å lage drivere har blitt redesignet.

Kilde: opennet.ru

Legg til en kommentar