Come Scrivere I Driver

Sommario:

Come Scrivere I Driver
Come Scrivere I Driver

Video: Come Scrivere I Driver

Video: Come Scrivere I Driver
Video: How To Write A Driver (STM32, I2C, Datasheet) 2024, Aprile
Anonim

Il lavoro unificato con tutti i dispositivi di un personal computer in Windows, così come alcune altre funzioni del sistema operativo, sono fornite da una serie di driver. Per scrivere i driver, è necessario avere una buona conoscenza della programmazione, dei principi del kernel e dei vari sottosistemi di Windows.

Come scrivere i driver
Come scrivere i driver

Necessario

Kit di sviluppo driver Windows

Istruzioni

Passo 1

Scarica la distribuzione Windows Driver Development Kit (DDK) da microsoft.com (disponibile per gli abbonati MSDN) e installala sul tuo computer. Questo pacchetto contiene tutti gli strumenti necessari per lo sviluppo e la creazione di driver (compilatore, linker, file di intestazione, librerie), nonché una documentazione completa.

Passo 2

Studia in dettaglio tutta la documentazione disponibile sulla scrittura dei driver per Windows. Utilizzare le informazioni di riferimento dal DDK e dall'argomento MSDN correlato (msdn.microsoft.com). È necessario comprendere appieno tutti gli aspetti del modello di driver di Windows (WDM) e comprendere i concetti di base dell'architettura. È necessario comprendere chiaramente le differenze tra driver in modalità utente e modalità kernel, driver di dispositivo e driver di file system. È necessario conoscere le caratteristiche delle diverse classi di driver, i loro tipi (driver bus, filtri, driver funzionali) e sottotipi (driver video, modem, dispositivi di rete, porte parallele e seriali, dispositivi di archiviazione). Prestare particolare attenzione ai principi di I/O Packet-Driven con IRP riutilizzabili, gestione della memoria, gestione delle eccezioni e corretta applicazione degli oggetti di sincronizzazione.

Passaggio 3

Definire chiaramente la funzionalità del driver in fase di sviluppo. Sulla base di questo, determina a quale tipo e classe appartiene.

Passaggio 4

Seleziona un linguaggio di programmazione. Tradizionalmente, i driver in modalità kernel sono implementati in C. I driver in modalità utente sono generalmente sviluppati in C++. Ci sono diverse eccezioni a queste regole. Ad esempio, i minidriver client per i flussi audio e video, i driver audio WDM per i miniport in modalità kernel, i driver WIA e talvolta i driver video sono scritti in C++.

Passaggio 5

Creare un progetto che implementi lo stub del driver. Esplora la directory DDK con esempi. Trova il progetto demo del driver corretto. Se non riesci a trovare un esempio adatto, crea tu stesso i file che contengono il codice sorgente richiesto e crea file di script. Ad esempio, quando si sviluppa un driver in modalità kernel, è necessario implementare la funzione DriverEntry, che contiene il codice di inizializzazione e alcune routine standard (come AddDevice, StartIo, ecc.).

Passaggio 6

Implementare la funzionalità del driver. Aggiungi codice alle funzioni create nel passaggio precedente. Aggiungi logica per gestire le richieste di I/O, ecc.

Consigliato: