Primi passaggi per lo sviluppo di driver client USB
In questa sezione vengono presentati i concetti e gli strumenti di sviluppo dei driver USB. La sezione si applica ai devlopers nuovi allo sviluppo di driver che desiderano implementare un driver per un dispositivo USB per cui Microsoft non fornisce un driver in box. Questi driver vengono chiamati driver client USB in questa documentazione. Gli argomenti di questa sezione descrivono concetti USB di alto livello e forniscono istruzioni dettagliate sull'esecuzione di attività comuni di un driver client USB. Per informazioni dettagliate su questi concetti, vedere specifiche USB in Documenti USB.
Gli sviluppatori di driver devono avere esperienza di codifica nel linguaggio di programmazione C++ e comprendere i concetti dei puntatori a funzioni, delle funzioni di callback e dei gestori eventi. Se si scrive un driver basato su User-Mode Driver Framework, lo sviluppatore deve avere familiarità con C++ e COM.
Percorso di apprendimento per sviluppatori di driver client USB
Leggere la specifica USB 3.2.
- Informazioni sulla specifica del settore e sui diversi componenti (dispositivo, controller host e hub) dell'architettura. È importante comprendere il modello di flusso di dati, come l'host e il dispositivo comunicano tra loro e il formato delle richieste previste dal dispositivo.
Ottenere un dispositivo USB di test.
Avere un dispositivo USB e la relativa specifica hardware. La specifica descrive le funzionalità del dispositivo e i comandi del fornitore supportati. Usare la specifica per determinare la funzionalità del driver del dispositivo e le decisioni di progettazione correlate.
Se non si ha familiarità con lo sviluppo di driver USB, è disponibile il kit di apprendimento OSR USB FX2 . Il kit è il più adatto per studiare esempi USB inclusi in questo set di documentazione.
Disporre di un dispositivo MICROSOFT USB Test Tool (MUTT). L'hardware MUTT può essere acquistato da JJG Technologies. Il dispositivo non ha installato il firmware. Per installare il firmware, scaricare il pacchetto software MUTT. Per altre informazioni, vedere la documentazione inclusa nel pacchetto.
Studiare il layout del dispositivo USB e i descrittori USB correlati.
- Descrivere le funzionalità del dispositivo leggendo il descrittore di configurazione, i descrittori dell'interfaccia per ogni impostazioni alternative supportate e i descrittori dell'endpoint. Usando USBView, lo sviluppatore può esplorare tutti i controller USB e i dispositivi USB connessi a essi e controllare anche la configurazione del dispositivo.
Scegliere un modello di driver per lo sviluppo di un driver client USB
- Determinare se il driver deve essere un driver personalizzato o usare uno dei driver forniti da Microsoft in base alla progettazione del dispositivo di destinazione. Scegliere il modello di driver migliore e descrivere le funzionalità supportate da ogni modello.
Esaminare i concetti relativi allo stack di driver USB e allo sviluppo di driver forniti da Microsoft.
- Driver lato host USB in Windows.
- Concetti per tutti gli sviluppatori di driver.
- Concetti per tutti gli sviluppatori USB.
- Nodi del dispositivo e stack di dispositivi.
- Sviluppo di driver con Windows Driver Foundation scritto da Penny Orwick e Guy Smith. Per altre informazioni, vedere Sviluppo di driver con WDF.
- Esempi di driver USB.
- Informazioni fondamentali sul funzionamento dei driver nei sistemi operativi Windows. Conoscere i concetti fondamentali aiuterà a prendere decisioni di progettazione appropriate e semplificare il processo di sviluppo.
- Distinguere tra i modelli di architettura del driver in modalità utente e kernel.
- Informazioni sul caricamento dei driver e sul modo in cui Windows organizza i dispositivi Plug and Play (PnP) in un albero di dispositivi e nodi del dispositivo. Lo sviluppatore deve anche comprendere come PnP manager compila stack di dispositivi e dove il driver e i relativi oggetti dispositivo vengono inseriti nello stack di dispositivi.
Preparare l'ambiente di sviluppo e debug.
- Installare windows Driver Kit (WDK) più recente.
- Installare Microsoft Visual Studio.
- Ottenere La configurazione per il debug.
- Assicurarsi che siano disponibili intestazioni e librerie necessarie da un driver client USB .
- Se si scrive un debug di driver in modalità kernel nei computer host e di destinazione su una rete Ethernet, è necessario configurare un cavo USB 2.0 o 3.0 o 3.0 o un cavo null-modem.
- Se si scrive un driver in modalità utente, i debugger in modalità utente sono disponibili nell'ambiente Microsoft Visual Studio. Lo sviluppatore deve avere familiarità con come collegare un processo o avviare un processo nel debugger.
Scrivere il primo driver.
- Come scrivere il primo driver client USB (KMDF).
- Come scrivere il primo driver client USB (UMDF).
- Scrivere, compilare e installare il primo driver client USB usando i modelli USB inclusi in Visual Studio 2012. Lo sviluppatore deve essere in grado di descrivere i driver del framework, il dispositivo e gli oggetti code e comprendere come il framework comunica con il driver.
Estendere il driver inviando una richiesta di trasferimento del controllo USB.
- Inviare richieste di controllo standard e comandi del fornitore al dispositivo. Per altre informazioni, vedere Come inviare un trasferimento di controllo USB.
Estendere il driver per usare oggetti di destinazione I/O USB WDF per eseguire trasferimenti di dati USB.
- Estendere il driver per eseguire attività comuni come descritto in Attività comuni per i driver client USB.
Risorse della community per USB
Microsoft Windows USB Core Team Blog
Consultare i post scritti dal Team USB Microsoft. Il blog è incentrato sullo stack di driver USB di Windows che funziona con vari controller host USB e hub USB trovati in Windows PC. Una risorsa utile per sviluppatori di driver client USB e progettisti hardware USB comprende l'implementazione dello stack di driver, risolvere i problemi comuni e spiegare come usare gli strumenti per raccogliere tracce e file di log.
-
Elenco di discussioni gestito da OSR Online per sviluppatori di driver in modalità kernel.
Windows Dev-Center per lo sviluppo hardware
Windows Driver Kit, assicurarsi che il prodotto sia affidabile e compatibile con Windows tramite Windows Hardware Lab Kit, informazioni sugli esempi di driver Di Windows.
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per