Device Driver Programming Tutorial

Device Driver Programming Tutorial


Enhetsdrivere er de essensielle programmer for å aktivere enheter til å fungere på en datamaskin. I praksis er de "motor", og kraften som strømmer gjennom systemet er "drivstoff" lar motoren gå. Enhetsdrivere er skrevet spesielt for maskinvare de kjører og aktivere operativsystemer som Windows og Linux for å få tilgang til disse komponentene.

Prosessen med å skrive enhetsdrivere inkluderer bruk av kompilatorer og andre verktøy som gjør at kildekoden for kompilatorer å bli oversatt til de aktuelle operativsystemkommandoer.

Bruksanvisning

1 Studer dokumentasjonen for kompilatoren brukes til å bygge enhetsdriveren. Før noen kode er produsert, er det verdt å vite alle kompilatordirektiver og alternativer tilgjengelig. Kompilatoren vil også bruke en linker til slutt å produsere den binære skal brukes som styreprogrammet.

2 Definer header informasjon som kreves for enhetsdriveren. Denne informasjonen blir brukt av kompilatoren for å angi hvordan du legger en kjørbar (enhetsdriveren program) og hvor inngangspunkt i den binære starter. På Windows-systemer, dette kalles "Portable kjørbar Format" (PE), og det gjør også bruk av det som er kjent som "undersystemet."

3 Definer inngangspunkt for sjåføren. Dette kan være tilgjengelige som standard på systemet. En slik inngangspunkt er NTProcessStartup kjørbar hvis du bruker den "innfødte" Utgangspunktet for enhetsdriveren. Standardinngangspunkt kan overstyres til en av dine egne valg.

4 Skriv enhetsdriveren programmet i det språket du valgte. Enhetsdrivere er vanligvis best produsert i lavnivå språk som C, C ++ eller assembly. I prosessen, bruker header informasjon fra linker konfigurasjon og bestille fremgangsmåten for å bli lastet for sjåføren i riktig rekkefølge.

5 Kompilere programmet til binær, ved hjelp av alle tilgjengelige verktøy for å hjelpe til med prosessen som en "makefile."

6 Kjør driver med passende brytere slik at systemet gjenkjenner den som en enhetsdriver. For eksempel kan en enhetsdriver skrevet for Windows kjøres med en bryter, for eksempel "a / DRIVER: UP", som betyr ikke laste inn driveren på en multi-prosessor operativsystem.

Hint

  • Når det er mulig, bruke en "Makefile" for å binde all koden og bibliotekene sammen.
  • Enhetsdrivere kan bygges ved hjelp av et grafisk grensesnitt, som VC ++, men å lære kommandolinjer gir en annen detaljert perspektiv, uten å stole for mye på et grafisk verktøy.