RT-Thread 5.0 real-time operativsystem tilgængeligt

Udgivelsen af ​​RT-Thread 5.0, et real-time operativsystem (RTOS) til Internet of Things-enheder, er blevet offentliggjort. Systemet er blevet udviklet siden 2006 af et fællesskab af kinesiske udviklere og er i øjeblikket blevet 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 meget begrænsede i ressourcer, tilbydes en fuld-funktionsversion, der understøtter pakkehåndtering, konfiguratorer, en netværksstack, pakker med implementering af et grafisk interface, stemmestyringssystemer, DBMS, netværkstjenester og motorer til eksekvering scripts. Koden er skrevet i C og distribueret under Apache 2.0-licensen.

Platforms funktioner:

  • Arkitektur support:
    • 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 (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.
  • Udvidelig modulær arkitektur, der giver dig mulighed for at skabe et miljø, der er egnet til systemer med begrænsede ressourcer (minimumskrav - 3 KB Flash og 1.2 KB RAM).
  • Understøttelse af forskellige standardgrænseflader til programudvikling, såsom POSIX, CMSIS, C++ API. RTduino-laget udvikles separat for kompatibilitet med Arduino-projektets API og biblioteker.
  • Mulighed for udvidelse gennem et system af pakker og plug-in komponenter.
  • Støtte til applikationsudvikling til højtydende informationsbehandling.
  • Fleksibelt strømstyringssystem, der giver dig mulighed for automatisk at sætte enheden i dvaletilstand og dynamisk styre spænding og frekvens afhængigt af belastningen.
  • Hardwareunderstøttelse til kryptering og dekryptering, tilvejebringelse af biblioteker med forskellige kryptografiske algoritmer.
  • Samlet grænseflade for adgang til perifere enheder og ekstraudstyr.
  • Virtuelt filsystem og tilgængelighed af drivere til filsystemer 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 hjælp af en digital signatur, genoptagelse af en afbrudt installation, retablering efter en fejl, tilbagerulning af ændringer osv.
  • Et system af dynamisk indlæste kernemoduler, der giver dig mulighed for separat at bygge og udvikle kernekomponenter og dynamisk indlæse dem, når det er nødvendigt.
  • Understøtter forskellige tredjepartspakker, såsom Yaffs2, SQLite, FreeModbus, Canopen osv.
  • Muligheden for direkte at kompilere en BSP-pakke (Board Support Package) med komponenter til at understøtte en specifik hardwareplatform og indlæse den på boardet.
  • Tilgængeligheden af ​​en emulator (BSP qemu-vexpress-a9), som giver dig mulighed for 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. Udviklingsplugins 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 opsætningen af ​​miljøet.
    RT-Thread 5.0 real-time operativsystem tilgængeligt

Operativsystemet består af tre grundlæggende lag:

  • En kerne, der gør det muligt at udføre opgaver i realtid. Kernen giver generiske kerneprimitiver, der dækker områder som låsestyring og datasynkronisering, opgaveplanlægning, trådstyring, signalhåndtering, beskedkø, timerstyring og hukommelsesstyring. Hardware-specifikke funktioner er implementeret på libcpu- og BSP-niveauer, som inkluderer de nødvendige drivere og kode til at understøtte CPU'en.
  • Komponenter og tjenester, der kører oven på kernen og tilbyder abstraktioner såsom et virtuelt filsystem, undtagelseshåndteringssystem, nøgle/værdilagring, FinSH kommandolinjegrænseflade, netværksstack (LwIP) og netværksrammer, enhedsunderstøttelsesbiblioteker, lydundersystem, trådløs stak, komponenter til at understøtte Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulær 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 mere end 450 pakker, der tilbyder alt fra grafiske grænseflader, multimedieapplikationer og netværksapplikationer til robotstyringssystemer og maskinlæringsbaserede processorer. Pakkerne giver også motorer til at organisere udførelsen af ​​programmer på 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 væsentlig forbedring af understøttelsen af ​​multi-core og multi-threaded systemer (for eksempel er netværksstakken og filsystemerne tilpasset til at arbejde i multi-threaded mode, skemalæggeren er opdelt til muligheder for enkeltkernesystemer og SMP). Tilføjet implementering af TLS (Thread Local Storage). Forbedret understøttelse af Cortex-A-chips. Væsentlig forbedret understøttelse af 64-bit systemer (TCP/IP stack og filsystemer er verificeret til 64-bit systemer). Flash-hukommelsesstyringskomponenter er integreret. Værktøjssættet til at oprette drivere er blevet omdesignet.

Kilde: opennet.ru

Tilføj en kommentar