ThreadX - ThreadX
| Utvikler | Microsoft (opprinnelig Express Logic) |
|---|---|
| Skrevet i | C |
| OS-familie | Sanntidsoperativsystem (RTOS) |
| Arbeidsstat | Nåværende |
| Kildemodell | Kildetilgjengelig programvare |
| Første utgivelse | 1997 |
| Siste utgivelse | v6.1.6_rel / 3. april 2021 |
| Oppbevaringssted | github |
| Markedsføringsmål | Innebygde systemer , IoT : inkludert sensorer, enheter, kantrutere, gateways |
| Oppdateringsmetode | Reinstallasjon |
| Pakkeleder | Ingen |
| Plattformer | ARC , ARM , Blackfin, CEVA, C6x, MIPS , NXP , PIC , PowerPC , RISC-V , RX, SH, SHARC, TI , V850, Xtensa, x86 , Coldfire , andre |
| Kernel typen | Embedded, deterministisk, real-time mikrokjerne , picokernel |
| Standard brukergrensesnitt | Innebygd brukergrensesnittstøtte (GUIX) |
| Tillatelse | Proprietær |
| Offesiell nettside | azure |
Azure RTOS ThreadX er en meget deterministisk, forankret operativsystem sanntid (RTOS) som er programmert for det meste i språket C .
Oversikt
ThreadX ble opprinnelig utviklet og markedsført av Express Logic i San Diego, California , USA. Forfatteren av ThreadX (og den opprinnelige forfatteren av Nucleus RTOS i 1990) er William Lamie, som også var president og administrerende direktør for Express Logic.
Express Logic ble kjøpt for en ukjent sum av Microsoft 18. april 2019.
Navnet ThreadX er avledet fra trådene som brukes som kjørbare elementer, og bokstaven X representerer kontekstbytte , dvs. den bytter tråd. ThreadX gir prioritet basert, forebyggende planlegging, rask avbruddsrespons, minnehåndtering , interthread kommunikasjon, gjensidig utelukkelse , event varsling, og tråden synkronisering egenskaper. De viktigste kjennetegnende teknologiske egenskapene til ThreadX inkluderer innløsingsterskel, prioritetsarv , effektiv tidsstyring, raske programvaretimere, picokernel- design, hendelseskjetting og liten størrelse: minimal størrelse på en ARM-arkitekturprosessor er omtrent 2 KB.
ThreadX støtter multikjerneprosessormiljøer via enten asymmetrisk multiprosessering (AMP) eller symmetrisk multiprosessering (SMP). Søknadstrådisolering med minnehåndteringsenhet (MMU) eller minnebeskyttelsesenhet (MPU) minnebeskyttelse er tilgjengelig med ThreadX-moduler.
ThreadX har omfattende sikkerhetssertifiseringer fra Technischer Überwachungsverein (TÜV, engelsk: Technical Inspection Association) og UL (tidligere Underwriters Laboratories) og er MISRA C- kompatibel for Industry Industry Software Reliability Association .
ThreadX er grunnlaget for Express Logics X-Ware Internet of things (IoT) -plattform, som også inkluderer innebygd filsystemstøtte (FileX), innebygd brukergrensesnittstøtte (GUIX), innebygd internettprotokollpakke (TCP / IP) og skytilkobling (NetX) / NetX Duo) og Universal Serial Bus ( USB ) -støtte (USBX). ThreadX har vunnet høy vurdering fra utviklere og er en veldig populær RTOS. Fra og med 2017, ifølge markedsundersøkelsesfirmaet VDC Research, har ThreadX RTOS blitt en av de mest populære RTOSene i verden, etter å ha blitt distribuert i over 6,2 milliarder enheter, inkludert forbrukerelektronikk, medisinsk utstyr, datanettverksapplikasjoner og SoC.
ThreadX distribueres ved hjelp av en markedsføringsmodell der kildekoden er gitt og lisenser er royaltyfrie .
Støttede plattformer
-
Analoge enheter
- Blackfin
- CM4xx
- Precision Microcontrollers
- SHARC
- ULP Microcontrollers
-
Andes-teknologi
- RISC-V
-
ARM-arkitektur
- ARM7
- ARM9
- ARM Cortex-A
- ARM Cortex-R
- ARM Cortex-M
- ARM Cortex-A 64-bit
- ARMv8M TrustZone
- Cadence
- Xtensa
- CEVA
- TeakLite-III
-
eSi-RISC
- eSi-16x0
- eSi-32x0
-
Infineon
- XMC1000
- XMC4000
-
Intel
- Nios II
- Syklon
- Arria 10
- x86
-
Mikrochip
- AVR32
- PIC24
- dsPIC33
- PIC32
- SAM CV
- SAM9
- SAMA5
-
MIPS-arkitektur
- MIPS32 4Kx
- MIPS32 14Kx
- MIPS32 24Kx
- MIPS32 34Kx
- MIPS32 74Kx
- MIPS32 1004Kx
- interAptiv
- microAptiv
- proAptiv
- M-klasse
-
NXP
- ColdFire + / ColdFire
- i.MX
- Kinetis
- LPC
- PowerPC
- S32
-
Renesas
- H8 / 300H
- RX
- RZ
- SH
- Synergi
- V850
-
ST
- STM32F0
- STM32F1
- STM32F2
- STM32F3
- STM32F4
- STM32F7
- STM32L
-
Silicon Labs
- Gecko
- Kjempekko
- Giant Gecko S1
- Gratulerer med Gecko
- Jade Gecko
- Leopardgecko
- Pearl Gecko
- Tiny Gecko
- Wonder Gecko
- Zero Gecko
- Synopsys
-
BUE
- ARC 600
- ARC 700
- ARC EM
- ARC HS
-
Texas Instruments
- C674x
- C64x +
- Hercules
- MSP430
- SimpleLink MSP432
- Sitara
- Tiva-C
-
Xilinx
- Microblaze
- Zynq-7000
- Zynq UltraScale +
Historie
ThreadX ble først introdusert i 1997. ThreadX 4 ble introdusert i 2001. ThreadX 5 ble introdusert i 2005, og er den siste versjonen fra og med 2020.
FileX - det innebygde filsystemet for ThreadX ble introdusert i 1999.
NetX - den innebygde TCP / IP-nettverksstakken for ThreadX ble introdusert i 2002.
USBX - den innebygde USB-støtten for ThreadX ble introdusert i 2004.
ThreadX SMP for SMP-flerkjernemiljøer ble introdusert i 2009.
ThreadX-moduler ble introdusert i 2011.
ThreadX oppnådde sikkerhetssertifiseringer for: TÜV IEC 61508 i 2013, og UL 60730 i 2014.
GUIX - det innebygde brukergrensesnittet for ThreadX ble introdusert i 2014.
Express Logic ble kjøpt for en ukjent sum av Microsoft 18. april 2019.
Teknologi
ThreadX implementerer en prioritetsbasert, forebyggende planleggingsalgoritme med en egen funksjon som kalles innløsnings-terskel. Sistnevnte har vist seg å gi større granularitet innen kritiske seksjoner, redusere kontekstbrytere, og har vært gjenstand for akademisk forskning om å garantere planlegging.
ThreadX gir en unik konstruksjon som kalles hendelseskjeding, hvor applikasjonen kan registrere en tilbakeringingsfunksjon på alle applikasjonsprogrammeringsgrensesnitt (APIer) som kan signalisere en ekstern hendelse. Dette hjelper applikasjoner med å koble sammen forskjellige offentlige objekter i ThreadX slik at en tråd effektivt kan blokkere flere objekter.
ThreadX gir også telle semaforer , mutexer med valgfri prioritetsarv, hendelsesflagg , meldingskø , programvaretimere , blokkminne med fast størrelse og blokkminne med variabel størrelse. Alle API-er i ThreadX som blokkerer ressurser, har også en valgfri tidsavbrudd.
ThreadX tilbyr multikjerneprosessorstøtte via enten AMP eller SMP. Søknadskodeisolering er tilgjengelig gjennom komponenten ThreadX Modules.
Hovedkomponenter
ThreadX RTOS-komponenter inkluderer:
- Innebygd filsystem
- Innebygd grafisk brukergrensesnitt
- Innebygd nettverk
- Innebygd USB
- Sikkerhetssertifisering
- Emballasje
Innebygd filsystem
FileX er det innebygde filsystemet for ThreadX. FileX støtter FAT12 , 16 , 32 , og exFAT -format. Sistnevnte utvider FAT-filstørrelser utover 4 GB, noe som er spesielt nyttig for videofiler, og det krever lisens direkte fra Microsoft for bruk. FileX tilbyr også feiltoleranse og støtter direkte NOR- og NAND- flashminnemedier gjennom et nivå for slitestyring av blits, kalt LevelX.
Innebygd grafisk brukergrensesnitt
GUIX er det innebygde grafiske brukergrensesnittet (GUI) for ThreadX. GUIX tilbyr et 2D- kjøretidssystem (miljø) for innebygde applikasjoner som kjører ThreadX. GUIX støtter flere skjermenheter med en rekke skjermoppløsninger og fargedybder. Mange forhåndsdefinerte grafiske widgets er tilgjengelige. Et Windows WYSIWYG- vertsverktøy kalt GUIX Studio genererer automatisk C-kode for at GUIX skal kjøres ved kjøretid.
Innebygd nettverk
NetX Duo er det innebygde TCP / IP-systemet for ThreadX. NetX Duo støtter både IPv4- og IPv6- nettverk sammen med protokoller som ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP og TELNET. IP-lagets nettverkssikkerhet leveres av IPsec. TCP- og UDP-sokkelagssikkerhet leveres av henholdsvis TLS og DTLS. IoT Cloud-protokollstøtte inkluderer CoAP, MQTT og LWM2M. NetX Duo støtter også tråd og 6LoWPAN. I 2017 ble ThreadX og NetX Duo et trådsertifisert produkt.
Innebygd USB
USBX er det innebygde Universal Serial Bus ( USB ) -systemet for ThreadX. USBX støtter både vert og enhet. Vertskontrollerstøtte inkluderer EHCI, OHCI og proprietære USB-vertskontrollere. USBX støtter også OTG. Støtte for USBX-klassen inkluderer lyd, Asix, CDC / ACM, CDC / ECM, DFU, GSER, HID, PIMA, skriver, Prolific, RNDIS og lagring.
Sikkerhetssertifisering
ThreadX (og FileX og NetX Duo) er forhåndssertifisert av SGS-TÜV Saar til følgende sikkerhetsstandarder: IEC 61508 SIL 4, IEC 62304 klasse C, ISO 26262 ASIL D og EN 50128 SW-SIL 4.
ThreadX (og FileX og NetX Duo) er forhåndssertifisert av UL til følgende sikkerhetsstandarder: UL / IEC 60730, UL / IEC 60335, UL 1998
ThreadX er også sertifisert i henhold til DO-178-standarder av forskjellige militær- og luftfartsselskaper. Den støttes av populære Transport Layer Security (SSL / TLS) biblioteker som wolfSSL .
Emballasje
Fra og med 2017 er ThreadX pakket som en del av X-Ware IoT Platform i full kildekode og uten royalty-betaling .
Produkter som bruker den
Noen høyprofilerte produkter ved hjelp ThreadX spenner fra små bærbare enheter, til Hewlett-Packard skrivere , og selv NASA ‘s Deep Impact romsonden .
Den bringebær Pi linje fra én datamaskiner løper ThreadX som en binær klump på grafikkprosesseringsenhet (GPU). Dette styrer innledende oppstart , som igjen brukes til å starte sekundære operativsystemer som Linux , og fortsetter å operere i en mer privilegert rolle selv etter oppstartsprosessen.