RT-Thread 5.0 realtidsoperativsystem tillgängligt

Utgivningen av RT-Thread 5.0, ett realtidsoperativsystem (RTOS) för Internet of Things-enheter, har publicerats. Systemet har utvecklats sedan 2006 av en grupp kinesiska utvecklare och har för närvarande porterats till nästan 200 kort, chips och mikrokontroller baserade på x86, ARM, MIPS, C-SKY, Xtensa, ARC och RISC-V arkitekturer. Den minimalistiska RT-Thread (Nano)-byggnaden kräver bara 3 KB Flash och 1.2 KB RAM för att fungera. För IoT-enheter som inte är särskilt begränsade i resurser erbjuds en fullfjädrad version som stöder pakethantering, konfiguratorer, en nätverksstack, paket med implementering av ett grafiskt gränssnitt, röststyrningssystem, DBMS, nätverkstjänster och motorer för exekvering manus. Koden är skriven i C och distribueras under Apache 2.0-licensen.

Plattformsfunktioner:

  • Arkitekturstöd:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (mikrokontroller från tillverkare som ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP stöds).
    • 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.
  • Utökningsbar modulär arkitektur som låter dig skapa en miljö som lämpar sig för system med begränsade resurser (minimikrav - 3 KB Flash och 1.2 KB RAM).
  • Stöd för olika standardgränssnitt för programutveckling, såsom POSIX, CMSIS, C++ API. RTduino-lagret utvecklas separat för kompatibilitet med Arduino-projektets API och bibliotek.
  • Möjlighet till expansion genom ett system av paket och plug-in komponenter.
  • Stöd för applikationsutveckling för högpresterande informationsbehandling.
  • Flexibelt strömhanteringssystem som låter dig automatiskt försätta enheten i viloläge och dynamiskt styra spänning och frekvens beroende på belastningen.
  • Hårdvarustöd för kryptering och dekryptering, tillhandahållande av bibliotek med olika kryptografiska algoritmer.
  • Enhetligt gränssnitt för åtkomst till kringutrustning och ytterligare utrustning.
  • Virtuella filsystem och tillgänglighet av drivrutiner för filsystem som FAT, UFFS, NFSv3, ROMFS och RAMFS.
  • Protokollstack för TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, etc.
  • Ett system för fjärrleverans och installation av uppdateringar som stöder kryptering och verifiering med hjälp av en digital signatur, återuppta en avbruten installation, återställa efter ett fel, återställa ändringar, etc.
  • Ett system med dynamiskt laddade kärnmoduler som låter dig bygga och utveckla kärnkomponenter separat, och dynamiskt ladda dem när det behövs.
  • Stöder olika tredjepartspaket, såsom Yaffs2, SQLite, FreeModbus, Canopen, etc.
  • Möjligheten att direkt kompilera ett BSP-paket (Board Support Package) med komponenter för att stödja en specifik hårdvaruplattform och ladda det på kortet.
  • Tillgängligheten av en emulator (BSP qemu-vexpress-a9), som låter dig utveckla applikationer utan att använda riktiga kort.
  • Stöd för vanliga kompilatorer och utvecklingsverktyg som GCC, MDK Keil och IAR.
  • Utveckling av vår egen integrerade utvecklingsmiljö RT-Thread Studio IDE, som låter dig skapa och felsöka applikationer, ladda dem på kort och hantera inställningar. Utvecklingsplugins för RT-Thread är också tillgängliga för Eclipse och VS Code.
    RT-Thread 5.0 realtidsoperativsystem tillgängligt
  • Närvaron av Env-konsolens gränssnitt, vilket förenklar skapandet av projekt och ställer in miljön.
    RT-Thread 5.0 realtidsoperativsystem tillgängligt

Operativsystemet består av tre grundläggande lager:

  • En kärna som gör att uppgifter kan utföras i realtid. Kärnan tillhandahåller generiska kärnprimitiver som täcker områden som låshantering och datasynkronisering, uppgiftsschemaläggning, trådhantering, signalhantering, meddelandekö, timerhantering och minneshantering. Hårdvaruspecifika funktioner implementeras på libcpu- och BSP-nivåerna, som inkluderar nödvändiga drivrutiner och kod för att stödja processorn.
  • Komponenter och tjänster som körs ovanpå kärnan och erbjuder abstraktioner som ett virtuellt filsystem, undantagshanteringssystem, nyckel/värdelagring, FinSH kommandoradsgränssnitt, nätverksstack (LwIP) och nätverksramverk, enhetsstödbibliotek, ljudsubsystem, trådlös stack, komponenter för att stödja Wi-Fi, LoRa, Bluetooth, 2G/4G. Modulär arkitektur låter dig ansluta komponenter och tjänster beroende på dina uppgifter och tillgängliga hårdvaruresurser.
  • Programvarupaket. Programvarukomponenter och funktionsbibliotek för allmänna ändamål distribueras och installeras i form av paket. Förvaret innehåller för närvarande mer än 450 paket, som erbjuder allt från grafiska gränssnitt, multimediaapplikationer och nätverksapplikationer till robotstyrsystem och maskininlärningsbaserade processorer. Paketen tillhandahåller även motorer för att organisera exekveringen av program på språken Lua, JerryScript, MicroPython, PikaScript och Rust (rtt_rust).

RT-Thread 5.0 realtidsoperativsystem tillgängligt

Bland de nya funktionerna som lagts till i version 5.0 kan vi notera en betydande förbättring av stödet för flerkärniga och flertrådiga system (till exempel är nätverksstacken och filsystemen anpassade för att arbeta i flertrådsläge, schemaläggaren är uppdelad till alternativ för enkelkärniga system och SMP). Lade till implementering av TLS (Thread Local Storage). Förbättrat stöd för Cortex-A-chips. Betydligt förbättrat stöd för 64-bitarssystem (TCP/IP-stack och filsystem är verifierade för 64-bitars system). Flash-minneshanteringskomponenter är integrerade. Verktygslådan för att skapa drivrutiner har gjorts om.

Källa: opennet.ru

Lägg en kommentar