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

  1. 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.
  2. 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.

  3. 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.
  4. 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.
  5. Esaminare i concetti relativi allo stack di driver USB e allo sviluppo di driver forniti da Microsoft.

  6. Preparare l'ambiente di sviluppo e debug.

  7. Scrivere il primo driver.

  8. Estendere il driver inviando una richiesta di trasferimento del controllo USB.

  9. Estendere il driver per usare oggetti di destinazione I/O USB WDF per eseguire trasferimenti di dati USB.

Risorse della community per USB