RT-Thread 5.3 sanntidsoperativsystem tilgjengelig

RT-Thread 5.3, et sanntidsoperativsystem (RTOS) for Internet of Things-enheter, er lansert. Systemet har blitt utviklet siden 2006 av et fellesskap av kinesiske utviklere, og er nå portert til 155 kort, brikker og mikrokontrollere basert på x86-, ARM-, MIPS-, C-SKY-, Xtensa-, ARC- og RISC-V-arkitekturer. En minimalistisk versjon av RT-Thread (Nano) krever bare 3 KB Flash og 1.2 KB RAM. For IoT-enheter med ubegrensede ressursbegrensninger er en fullverdig versjon tilgjengelig, som støtter pakkehåndtering, konfiguratorer, en nettverksstabel, GUI-pakker, stemmekontrollsystemer, et DBMS, nettverkstjenester og skriptmotorer. Koden er skrevet i C og distribuert under Apache 2.0-lisensen.

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).

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, HPMicro).
    • 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, osv.
  • 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.
  • Tilstedeværelsen av Env-konsollgrensesnittet, som forenkler opprettelsen av prosjekter og setter opp miljøet.

Blant endringene i den nye utgivelsen:

  • Støtte for utvikling av komponenter i Rust-språket er utvidet. Rust-bindinger er lagt til for tråder, mutexer, semaforer, meldingskøer, samt operasjoner med minne, tid og filer. Komponenter for integrasjon med SCons og Cargo er implementert. Automatisk deteksjon av ARM-, AArch64- og RISC-V-målplattformer er nå tilgjengelig. Prosedyremakroer for initialisering og kommandoregistrering er lagt til.
  • For Cortex-M-mikrokontrollere er støtte for Open Firmware-standarden med beskrivelse av periferiutstyr via enhetstreet aktivert.
  • La til støtte for VirtIO 1.2 med muligheten til å bruke pakkekøer, MMIO/PCI-transport og DMA-synkronisering. VirtIO-drivere for 9P, krypto, RNG, SCMI og SCSI er lagt til. VirtIO-drivere for nettverk, blokkenheter, konsoll, inndataenheter og GPU er oppdatert.
  • DVFS-rammeverket (Dynamic Voltage and Frequency Scaling) er lagt til for dynamisk CPU- og enhetsfrekvensstyring. Integrasjon med ARM SCMI-fastvare for strømstyring er tilgjengelig. Viftestyringen er forbedret.
  • La til støtte for TEE-miljøer (Trusted Execution Environment) og RPMSG-meldingsmekanismen (Remote Processor Messaging).
  • Støtte for Unix-sockets er implementert.
  • La til støtte for sikkerhetsmekanismer for trådløse nettverk WPA3, EA (Enterprise Authentication), WAPI, OWE og DPP.
  • La til støtte for PTP (Precision Time Protocol) tidssynkroniseringsprotokoll.
  • Clock Time-rammeverket er lagt til for å jobbe med tid, og støtter høypresisjonstimere og tidssynkronisering på tvers av flere kilder. Det nye rammeverket erstatter de tidligere brukte komponentene ktime, cputime og hwtimer.
  • Filsystemet 9PFS er implementert og brukes til å utveksle filer mellom vertsmiljøet og virtuelle maskiner.
  • Implementeringen av lette prosesser (lwP) støtter nå ARM-arkitekturen og legger til støtte for vDSO-mekanismen (virtuelt dynamisk delt objekt), som lar behandlere flyttes fra kjernen til brukerområdet og unngå kontekstbytter.
  • Kjernen implementerer støtte for 8- og 16-bits atomoperasjoner.
  • La til støtte for symmetrisk multiprosessering (SMP) for XuanTie C/R-serien RISC-V-prosessorer og QEMU virt64-emulatoren.
  • CherryUSB USB-stakken er oppdatert til 1.6.1.
  • La til nye DM-drivere (Enhetsbehandling) for UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks og berøringsskjermer.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster