RT-Thread 5.3 realtidsoperativsystem tillgängligt

RT-Thread 5.3, ett realtidsoperativsystem (RTOS) för Internet of Things-enheter, har släppts. Systemet har utvecklats sedan 2006 av en grupp kinesiska utvecklare och har nu portats till 155 kort, chip och mikrokontroller baserade på x86-, ARM-, MIPS-, C-SKY-, Xtensa-, ARC- och RISC-V-arkitekturer. En minimalistisk version av RT-Thread (Nano) kräver endast 3 KB Flash och 1.2 KB RAM. För IoT-enheter med obegränsade resursbegränsningar finns en fullfjädrad version tillgänglig, som stöder pakethantering, konfiguratorer, en nätverksstack, GUI-paket, röststyrningssystem, ett DBMS, nätverkstjänster och skriptmotorer. Koden är skriven i C och distribueras under Apache 2.0-licensen.

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 såsom ett virtuellt filsystem, undantagshanteringssystem, nyckel/värdelagring, FinSH kommandoradsgränssnitt, nätverksstack (LwIP) och nätverksramverk, bibliotek för enhetsstöd, ljudundersystem, 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).

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, HPMicro).
    • 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.
  • Tillgänglighet för Env-konsolens gränssnitt, vilket förenklar skapandet av projekt och ställer in miljön.

Bland ändringarna i den nya utgåvan:

  • Stöd för att utveckla komponenter i Rust-språket har utökats. Rustbindningar har lagts till för trådar, mutexer, semaforer, meddelandeköer, samt operationer med minne, tid och filer. Komponenter för integration med SCons och Cargo har implementerats. Automatisk detektering av ARM-, AArch64- och RISC-V-målplattformar är nu tillgänglig. Procedurmakron för initialisering och kommandoregistrering har lagts till.
  • För Cortex-M-mikrokontroller är stöd för Open Firmware-standarden med beskrivning av kringutrustning via Device Tree aktiverat.
  • Lade till stöd för VirtIO 1.2 med möjligheten att använda paketköer, MMIO/PCI-transporter och DMA-synkronisering. VirtIO-drivrutiner för 9P, krypto, RNG, SCMI och SCSI har lagts till. VirtIO-drivrutiner för nätverk, blockenheter, konsol, inmatningsenheter och GPU har uppdaterats.
  • Ramverket DVFS (Dynamic Voltage and Frequency Scaling) har lagts till för dynamisk hantering av CPU och enhetsfrekvens. Integration med ARM SCMI-firmware för energihantering har tillhandahållits. Fläkthanteringen har förbättrats.
  • Lade till stöd för TEE-miljöer (Trusted Execution Environment) och meddelandemekanismen RPMSG (Remote Processor Messaging).
  • Stöd för Unix-sockets har implementerats.
  • Lade till stöd för säkerhetsmekanismer för trådlösa nätverk WPA3, EA (Enterprise Authentication), WAPI, OWE och DPP.
  • Lade till stöd för tidssynkroniseringsprotokollet PTP (Precision Time Protocol).
  • Ramverket Clock Time har lagts till för att arbeta med tid, med stöd för högprecisionstimers och tidssynkronisering över flera källor. Det nya ramverket ersätter de tidigare använda komponenterna ktime, cputime och hwtimer.
  • Filsystemet 9PFS har implementerats och används för att utbyta filer mellan värdmiljön och virtuella maskiner.
  • Implementeringen av lätta processer (lwP) stöder nu ARM-arkitekturen och lägger till stöd för vDSO-mekanismen (virtuellt dynamiskt delat objekt), vilket gör att hanterare kan flyttas från kärnan till användarutrymmet och undvika kontextväxlar.
  • Kärnan implementerar stöd för 8- och 16-bitars atomära operationer.
  • Lade till stöd för symmetrisk multiprocessing (SMP) för XuanTie C/R-seriens RISC-V-processorer och QEMU virt64-emulatorn.
  • CherryUSB USB-stacken uppdaterad till 1.6.1.
  • Lade till nya DM-drivrutiner (Enhetshanteraren) för UFS, AHCI, NVMe, Ethernet, Intel HDA, joysticks och pekskärmar.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster