RT-Thread 5.0 real-time operativsystem tilgængeligt

RT-Thread 5.0, et realtidsoperativsystem (RTOS) til Internet of Things-enheder, er blevet udgivet. Systemet er blevet udviklet siden 2006 af et fællesskab af kinesiske udviklere og er i øjeblikket porteret til næsten 200 boards, chips og mikrocontrollere baseret på x86, ARM, MIPS, C-SKY, Xtensa, ARC og RISC-V arkitekturer. Den minimalistiske RT-Thread (Nano) build kræver kun 3 KB Flash og 1.2 KB RAM for at fungere. For IoT-enheder, der ikke er særligt ressourcebegrænsede, tilbydes en komplet version, der understøtter pakkehåndtering, konfiguratorer, en netværksstak, pakker med en grafisk grænsefladeimplementering, et stemmestyringssystem, et DBMS, netværkstjenester og motorer til udførelse af scripts. Koden er skrevet i C og distribueres under Apache 2.0-licensen.

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).
    • 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.
     RT-Thread 5.0 real-time operativsystem tilgængeligt
  • Tilstedeværelsen af ​​Env-konsolgrænsefladen, som forenkler oprettelsen af ​​projekter og miljøopsætning.
     RT-Thread 5.0 real-time operativsystem tilgængeligt

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

 RT-Thread 5.0 real-time operativsystem tilgængeligt

Blandt de nye funktioner, der er tilføjet i version 5.0, kan vi bemærke en betydelig forbedring i understøttelsen af ​​multi-core og multi-threaded systemer (for eksempel er netværksstakken og filsystemerne blevet tilpasset til at arbejde i multi-threaded tilstand, og scheduleren er blevet opdelt i muligheder for single-core systemer og SMP). Tilføjet TLS (Thread Local Storage) implementering. Forbedret understøttelse af Cortex-A-chips. Væsentligt forbedret understøttelse af 64-bit systemer (TCP/IP-stak og filsystemer verificeret til 64-bit systemer). Komponenter til styring af flashhukommelse er integrerede. Værktøjssættet til oprettelse af drivere er blevet redesignet.

Kilde: opennet.ru

Tilføj en kommentar