Översikt över AZURE RTOS USBX
Azure RTOS USBX är en inbäddad STACK med höga prestanda för USB-värd, -enhet och on-the-go (OTG). Azure RTOS USBX är helt integrerat med Azure RTOS ThreadX och tillgängligt för alla ThreadX-processorer som stöds. Precis som ThreadX är Azure RTOS USBX utformat för att ha ett litet fotavtryck och höga prestanda, vilket gör det idealiskt för djupt inbäddade program som kräver ett gränssnitt med USB-enheter.
Värd, enhet, OTG & omfattande klassstöd
Azure RTOS USBX-värd/enhetsinbäddad USB-protokollstack är en inbäddad USB-lösning i industriell klass som utformats särskilt för djupt inbäddade, realtids- och IoT-program. Azure RTOS USBX ger stöd för värd, enhet och OTG, samt omfattande klassstöd. Azure RTOS USBX är helt integrerat med operativsystemet ThreadX Real-Time, Azure RTOS FileX embedded FAT-kompatibla filsystem, Azure RTOS NetX och Azure RTOS NetX Duo inbäddade TCP/IP-stackar. Allt detta i kombination med ett mycket litet fotavtryck, snabb körning och överlägsen användarvänlighet gör Azure RTOS USBX till det perfekta valet för de mest krävande inbäddade IoT-programmen som kräver USB-anslutning.
USBX-minnesfotavtryck
Azure RTOS USBX har ett mycket litet minimalt fotavtryck på 10,5 kB FLASH och 5,1 KB RAM för Azure RTOS USBX-enhetens CDC/ACM-stöd. Azure RTOS USBX-värden kräver minst 18 KB FLASH och 25 KB RAM för CDC/ACM-stöd.
Ytterligare 10 KB till 13 KB instruktionsområdesminne krävs för TCP-funktioner. Azure RTOS USBX RAM-användning sträcker sig vanligtvis från 2,6 kB till 3,6 kB plus paketpoolminnet, som definieras av programmet.
Precis som ThreadX skalas storleken Azure RTOS USBX automatiskt baserat på de tjänster som faktiskt används av programmet. Detta eliminerar praktiskt taget behovet av komplicerad konfiguration och byggparametrar, vilket gör det enklare för utvecklaren.
USB-samverkansverifiering
Azure RTOS USBX-enhetsstack har noggrant testats med USB IF-standardtestverktyget USBCV för att säkerställa fullständig efterlevnad av USB-specifikationerna och samverkan med olika värdsystem. Dessutom har Azure RTOS USBX OTG-stack verifierats och certifierats av den oberoende testlabbet Allion i Taiwan.
Stöd för USB-värdstyrenhet
Azure RTOS USBX har stöd för stora USB-standarder som OHCI och EHCI. Dessutom stöder Azure RTOS USBX egna diskreta USB-värdstyrenheter från Atmel, Microchip, Chip, Renesas, ST, TI och andra leverantörer. Azure RTOS USBX stöder också flera värdstyrenheter i samma program. STÖD för USB-Azure RTOS USBX stöder populära USB-enhetsstyrenheter från analoga enheter, Atmel, Microchip, NXP, Tier, Renesas, ST, TI och andra leverantörer.
Omfattande stöd för värdklass
Azure RTOS USBX-värd har stöd för de flesta populära klasser, inklusive ASIX, AUDIO, CDC/ACM, CDC/ECM, GSER, HID (tangentbord, mus och fjärrstyrning), HUB, PIMA (PTP/MTP), PRINTER, PROLIFIC och STORAGE.
Omfattande stöd för USB-enhetsklass
Azure RTOS USBX-enhet har stöd för de flesta populära klasser, inklusive CDC/ACM, CDC/ECM, DFU, HID, PIMA (PTP/MTP) (w/MTP), RNDIS och STORAGE. Stöd för anpassade klasser är också tillgängligt.
Pictbridge-stöd
Azure RTOS USBX stöder den fullständiga Pictbridge-implementeringen både på värden och enheten. Pictbridge finns ovanpå klassen Azure RTOS USBX PIMA (PTP/MTP) på båda sidor. PictBridge-standarden tillåter anslutning av en digital fortfarande kamera eller en smart telefon direkt till en skrivare utan dator, vilket möjliggör direktutskrift till vissa Pictbridge-medvetna skrivare. När en kamera eller telefon är ansluten till en skrivare är skrivaren USB-värden och kameran är USB-enheten. Men med Pictbridge visas kameran som värden och kommandona körs från kameran. Kameran är lagringsservern, skrivaren för lagringsklienten. Kameran är utskriftsklienten och skrivaren är naturligtvis utskriftsservern. Pictbridge använder USB som transportlager men förlitar sig på PTP (Picture Transfer Protocol) för kommunikationsprotokollet.
Stöd för anpassade klasser
Azure RTOS USBX-värd och enhet stöder anpassade klasser. Ett exempel på en anpassad klass finns i Azure RTOS USBX-distributionen. Den här enkla datapumpklassen kallas DPUMP och kan användas som en modell för anpassade programklasser. Avancerad teknik Azure RTOS USBX-värd och enhet stöder anpassade klasser. Ett exempel på en anpassad klass finns i Azure RTOS USBX-distributionen. Azure RTOS USBX är avancerad teknik som omfattar:
- Stöd för värd, enhet och OTG
- Stöd för USB med låg, fullständig och hög hastighet
- Automatisk skalning
- Helt integrerad med ThreadX, Azure RTOS FileX och Azure RTOS NetX
- Valfria prestandamått
- Azure RTOS TraceX-systemanalysstöd
Azure RTOS USBX-API:er
Azure RTOS USBX-värd-API
Värd-API:Azure RTOS USBX är ett intuitivt och konsekvent API som följer en namngivningskonvention med substantivverb. Alla API:er har ledande ux_host_* som enkelt kan identifieras som USBX. Eventuella blockerande API:er har valfria tråd-timeout.
- ASIX
- Minimal 0,3 KB FLASH, 4 KB RAM
- Automatisk skalningSpårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_asix_
- LJUD
- Minimal 1,2 KB FLASH, 4 KB RAM
- Automatisk skalning
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_audio_
- CDC/ACM
- Minimal 1,4 KB FLASH, 4 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_cdc_acm_
- HID
- Minimal 0,3 KB FLASH, 4 KB RAM
- Stöd för tangentbord, mus och fjärrstyrning
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_hid_
- NAV
- Minimal 1,7 KB FLASH, 2 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_hub_
- PIMA (PTP/MTP)
- Minimal 0,9 KB FLASH, 8 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_pima_
- SKRIVARE
- Minimal 0,8 KB FLASH, 8 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_printer_
- PRODUKTIV
- Minimal 1,5 KB FLASH, 4 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_prolific_
- STORAG
- Minimal 5,6 KB FLASH, 4 KB RAM
- Automatisk skalning
Integrerad med Azure RTOS FileX - Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_class_storage_
- USB-värdstack
- Stöder många värdstyrenheter
- Minimal 18 KB FLASH, 25 KB RAM
- Automatisk skalning
- Stöd för flera värdstyrenheter på samma plattform
- Stöd för USB med låg, fullständig och hög hastighet
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-värd-API:er i det här formuläret: ux_host_stack_
- OHCI, EHCI, PATENTSKYDDADE värdSTYRENHETER
AZURE RTOS USBX-enhets-API
API:Azure RTOS USBX-enhet är ett intuitivt och konsekvent API som följer en namngivningskonvention med substantivverb. Alla API:er har ledande ux_device_* som enkelt kan identifieras som USBX. Blockerande API:er har valfria tråd-timeout. Se användarhandboken Azure RTOS USBX-värd för mer information.
- CDC/ACM
- Minimal 0,8 KB FLASH, 2 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: *ux_device_class_cdc_acm_**.
- CDC/ECM
- Minimal 1,5 KB FLASH, 4 KB till 8 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: *ux_device_class_cdc_ecm_**.
- DFU
- Minimal 1,1 KB FLASH, 2 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_dfu_
- GSER
- Minimal 0,6 KB FLASH, 4 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_gser_
- HID
- Minimal 0,9 KB FLASH, 2 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_hid_* PIMA (PTP/MTP)
- Minimal 5,2 KB FLASH, 8 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_pima_
- LAGRING
- Minimal 2,3 KB FLASH, 4 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_storage_
- RNDIS
- Minimal 2,3 KB FLASH, 4 KB till 8 KB RAM
- Automatisk skalning
- Integrerad med Azure RTOS NetX och Azure RTOS NetX DUO
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_rndls_
- Azure RTOS USBX-enhetsstack
- Minimal 2,3 KB FLASH, 4 KB RAM
- Automatisk skalning
- Spårning på systemnivå via Azure RTOS TraceX
- Intuitiva Azure RTOS USBX-enhets-API:er i det här formuläret: ux_device_class_storage_
- EGNA värdSTYRENHETER
Nästa steg
Börja arbeta med den Azure RTOS USBX-värden och enhetsstacken genom att följa användarhandboken för värdstacken eller användarhandboken för enhetsstacken.