RT-Thread 5.3 real-time operativsystem tilgængeligt

RT-Thread 5.3, et realtidsoperativsystem (RTOS) til Internet of Things-enheder, er blevet udgivet. Det er udviklet siden 2006 af et fællesskab af kinesiske udviklere og er nu blevet porteret til 155 boards, chips og mikrocontrollere baseret på x86-, ARM-, MIPS-, C-SKY-, Xtensa-, ARC- og RISC-V-arkitekturer. En minimalistisk version af RT-Thread (Nano) kræver kun 3 KB Flash og 1.2 KB RAM. Til IoT-enheder med ubegrænsede ressourcebegrænsninger er en fuldt udstyret version tilgængelig, der understøtter pakkehåndtering, konfiguratorer, en netværksstak, GUI-pakker, stemmestyringssystemer, et DBMS, netværkstjenester og scripting-motorer. Koden er skrevet i C og distribueret under Apache 2.0-licensen.

Operativsystemet består af tre grundlæggende lag:

  • En kerne, der muliggør udførelse af opgaver i realtid. Kernen giver generelle grundlæggende primitiver, der dækker områder som låse- og datasynkroniseringsstyring, opgaveplanlægning, trådstyring, signalhåndtering, beskedkøer, timerstyring og hukommelsesstyring. Hardware-specifikke funktioner er implementeret på libcpu- og BSP-niveau, som inkluderer de nødvendige drivere og kode til at understøtte CPU'en.
  • Komponenter og tjenester, der kører oven på kernen, der leverer abstraktioner såsom et virtuelt filsystem, undtagelseshåndteringssystem, nøgle/værdilagring, FinSH kommandolinjegrænseflade, netværksstak (LwIP) og netværksrammer, biblioteker til enhedsunderstøttelse, lydundersystem, trådløs stak, komponenter til Wi-Fi, LoRa, Bluetooth, 2G/4G-understøttelse. Den modulære arkitektur giver dig mulighed for at forbinde komponenter og tjenester afhængigt af dine opgaver og tilgængelige hardwareressourcer.
  • Softwarepakker. Generelle softwarekomponenter og funktionsbiblioteker distribueres og installeres i form af pakker. Lagret omfatter i øjeblikket over 450 pakker, lige fra grafiske grænseflader, multimedieapplikationer og netværksapplikationer til robotstyringssystemer og maskinlæringsbaserede processorer. Pakkerne inkluderer også motorer til at organisere afviklingen af ​​programmer i sprogene Lua, JerryScript, MicroPython, PikaScript og Rust (rtt_rust).

Platforms funktioner:

  • Understøttede arkitekturer:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mikrocontrollere fra producenter som ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP understøttes).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (FuldHan).
    • 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.
  • En udvidelsesbar modulær arkitektur, der giver dig mulighed for at skabe et miljø, der er egnet til ressourcebegrænsede systemer (minimumskrav er 3 KB Flash og 1.2 KB RAM).
  • Understøtter forskellige standardgrænseflader til programudvikling, såsom POSIX, CMSIS, C++ API. RTduino-laget udvikles separat for kompatibilitet med Arduino-projektets API og biblioteker.
  • Kan udvides gennem et system af pakker og plug-ins.
  • Støtte til udvikling af højtydende informationsbehandlingsapplikationer.
  • Fleksibelt strømstyringssystem, der gør det muligt for enheden automatisk at skifte til dvaletilstand og dynamisk styre spænding og frekvens afhængigt af belastningen.
  • Understøttelse af hardware til kryptering og dekryptering, giver biblioteker forskellige kryptografiske algoritmer.
  • En samlet grænseflade til adgang til perifere enheder og ekstraudstyr.
  • Virtuel FS og tilgængelighed af drivere til FS som FAT, UFFS, NFSv3, ROMFS og RAMFS.
  • Protokolstak til TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M osv.
  • Et system til fjernlevering og installation af opdateringer, der understøtter kryptering og verifikation ved digital signatur, genoptagelse af afbrudte installationer, retablering efter fejl, tilbagerulning af ændringer mv.
  • Et system af dynamisk indlæsbare kernemoduler, der gør det muligt at bygge og udvikle kernekomponenter separat og dynamisk indlæses, når det er nødvendigt.
  • Understøttelse af forskellige tredjepartspakker, såsom Yaffs2, SQLite, FreeModbus, Canopen osv.
  • Muligheden for direkte at kompilere en BSP (Board Support Package) med komponenter til at understøtte en specifik hardwareplatform og indlæse den på kortet.
  • Tilgængeligheden af ​​en emulator (BSP qemu-vexpress-a9), der gør det muligt at udvikle applikationer uden at bruge rigtige boards.
  • Support til almindelige compilere og udviklingsværktøjer som GCC, MDK Keil og IAR.
  • Udvikling af vores eget integrerede udviklingsmiljø RT-Thread Studio IDE, som giver dig mulighed for at oprette og debugge applikationer, indlæse dem på boards og administrere indstillinger. Plugins til udvikling af programmer til RT-Thread er også tilgængelige til Eclipse og VS Code.
  • Tilstedeværelsen af ​​Env-konsolgrænsefladen, som forenkler oprettelsen af ​​projekter og miljøopsætning.

Blandt ændringerne i den nye udgivelse:

  • Understøttelse af udvikling af komponenter i Rust-sproget er blevet udvidet. Rust-bindinger er blevet tilføjet til tråde, mutexer, semaforer, meddelelseskøer samt operationer med hukommelse, tid og filer. Komponenter til integration med SCons og Cargo er blevet implementeret. Automatisk detektion af ARM-, AArch64- og RISC-V-målplatforme er nu tilgængelig. Procedurale makroer til initialisering og kommandoregistrering er blevet tilføjet.
  • For Cortex-M mikrocontrollere er understøttelse af Open Firmware-standarden med beskrivelse af periferiudstyr via enhedstræet aktiveret.
  • Tilføjet understøttelse af VirtIO 1.2 med mulighed for at bruge pakkekøer, MMIO/PCI-transport og DMA-synkronisering. VirtIO-drivere til 9P, krypto, RNG, SCMI og SCSI er blevet tilføjet. VirtIO-drivere til netværk, blokenheder, konsol, inputenheder og GPU er blevet opdateret.
  • DVFS-frameworket (Dynamic Voltage and Frequency Scaling) er blevet tilføjet til dynamisk CPU- og enhedsfrekvensstyring. Integration med ARM SCMI-firmware til strømstyring er blevet muliggjort. Ventilatorstyringen er blevet forbedret.
  • Tilføjet understøttelse af TEE (Trusted Execution Environment)-miljøer og RPMSG (Remote Processor Messaging)-meddelelsesmekanismen.
  • Understøttelse af Unix-sockets er blevet implementeret.
  • Tilføjet understøttelse af sikkerhedsmekanismerne for trådløse netværk: WPA3, EA (Enterprise Authentication), WAPI, OWE og DPP.
  • Tilføjet understøttelse af PTP (Precision Time Protocol) tidssynkroniseringsprotokollen.
  • Clock Time-frameworket er blevet tilføjet til at arbejde med tid, hvilket understøtter højpræcisionstimere og tidssynkronisering på tværs af flere kilder. Det nye framework erstatter de tidligere anvendte ktime-, cputime- og hwtimer-komponenter.
  • 9PFS-filsystemet er blevet implementeret og bruges til at udveksle filer mellem værtsmiljøet og virtuelle maskiner.
  • Implementeringen af ​​letvægtsprocesser (lwP) understøtter nu ARM-arkitekturen og tilføjer understøttelse af vDSO-mekanismen (virtuelt dynamisk delt objekt), som gør det muligt at flytte handlere fra kernen til brugerområdet og undgå kontekstskift.
  • Kernen implementerer understøttelse af 8- og 16-bit atomare operationer.
  • Tilføjet understøttelse af symmetrisk multiprocessering (SMP) til XuanTie C/R-seriens RISC-V-processorer og QEMU virt64-emulatoren.
  • CherryUSB USB-stak opdateret til 1.6.1.
  • Tilføjet nye DM-drivere (Enhedshåndtering) til UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks og touchskærme.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster