Het schrijven van een device driver voor Windows 2000 deel 2.

Slides:



Advertisements
Verwante presentaties
De gemiddelde leerling
Advertisements

1 Op Stap naar het SO. 2 • Waar gaat het om ? • Eerst even kijken naar het keuzewerkboek • Wat moest er zo dringend veranderen ? • Studiekeuzetaken !
Presentatie Clubmiddag 16 december 2008
Stage bij Technische Informatica
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Evaluatie van MS Exchange 2000 en opzetten van een server voor wereldwijde uitwisseling van projectinformatie Bertels David 3ICT1 Stageplaats: Acros Organics.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
9u15 Spanningsvoorziening 9u45 Bussystemen 11u00 Pauze
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
ADOBE PRESENTER Willem vanden Berg Dienst Onderwijsondersteuning en –ontwikkeling KaHo Sint-Lieven 1.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Het schrijven van een device driver voor Windows 2000.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
© GfK 2012 | Title of presentation | DD. Month
Nooit meer onnodig groen? Luuk Misdom, IT&T
BZ voor de Klas 3 juni 2010.
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
Wie het kleine niet eert ... (quarks, leptonen,….)
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Werken aan Intergenerationele Samenwerking en Expertise.
Seminarie 1: Pythagoreïsche drietallen
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
Workshop Informatievaardigheden
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
2 januari 2009Nieuwjaarsreceptie "Meule wal straete" 1 Nieuwjaarsreceptie 2 januari 2009 Eerste bijeenkomst van de bewoners van de “Meule wal straete”
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
HOSTA 2010, Vastgoedcongres 29 september september Horwath HTL.
De financiële functie: Integrale bedrijfsanalyse©
Samen-bouwen … over paneelbouw en de rest!
23 september 2014 Niels Vanmarcke
1 Amsterdam, april 2005 Drs. Frits Spangenberg Rotary Extern imago.
13 juni 2013 Bodegraven vanaf hoofdstuk 7:1 1. 1Korinthe 7 1 Wat nu de punten betreft, waarover gij mij geschreven hebt, het is goed voor een mens niet.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
2020 Boer of mineralenmanager? 1. Evenwicht? Bodem & vakmanschap Info DMS % %
ZijActief Koningslust
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
Transcript van de presentatie:

Het schrijven van een device driver voor Windows 2000 deel 2

2 Over deze presentatie Gedeelte over USB (±30 min.) Gedeelte over USB (±30 min.) Gedeelte over device drivers (±15 min.) Gedeelte over device drivers (±15 min.) Vragen kunnen gesteld worden na elk deelonderwerp en aan het einde Vragen kunnen gesteld worden na elk deelonderwerp en aan het einde

3 Inhoud USB Uitleg USB protocol Uitleg USB protocol Cypress EZ-USB oplossing Cypress EZ-USB oplossing USB

USB protocol

5 Algemeen Snelheden Lagenmodel Soorten endpoints Descriptors Klassespecificaties Driverimplementatie

USB protocol 6 Algemeen Erg gemakkelijk voor de eindgebruiker Erg complex voor ontwikkelaars Host controller, hubs en apparaten Piramidesysteem, max. 127 apparaten Apparaten bevatten min. één functie

USB protocol 7 Algemeen (2) Host controller heeft I/O adressen en IRQ USB root hubs en alles wat erop is aangesloten hebben geen I/O adressen of IRQ’s

USB protocol 8 Low speed Zeer langzaam10 – 100 kbit/s Zeer goedkoop USB kabel permanent bevestigd Geen gegarandeerde snelheden

USB protocol 9 Full speed Redelijk snel0,5 – 10 Mbit/s Redelijk goedkoop

USB protocol 10 High speed Zeer snel25 – 500 Mbit/s Nog vrij duur en moeilijker verkrijgbaar Vereist speciale host controller en hubs voor optimale werking Poorten op hostcontroller en hubs zorgen voor compatibiliteit met Low en Full speed

USB protocol 11 Lagenmodel endpoint verzameling

USB protocol 12 Communicatie Pakket transactie Control verzoek Bulk overdracht Isochrone overdracht Interrupt overdracht tokenevt. datastatustokenevt. datastatus  fasesINDATAACKOUTDATASTALL  bijv.

USB protocol 13 Soorten endpoints Control Bulk Isochronous Interrupt Alle bidirectioneel, initiatief vanuit host

USB protocol 14 Control endpoint Besturingsverzoeken aan het apparaat Gegarandeerd 10% bandbreedte Herhaalde verzending tot 3 maal Voorbeelden: –GET_DESCRIPTOR –SET_CONFIGURATION –SET_INTERFACE

USB protocol 15 Bulk endpoints Gebruikt overgebleven bandbreedte  geen bandbreedte gegarandeerd Middelmatige hoeveelheden data Foutcorrectie en herhaald verzenden Voorbeelden: –Scanner data

USB protocol 16 Isochronous endpoints Gegarandeerde bandbreedte Grote hoeveelheden data Geen foutcorrectie of herhaald verzenden Voorbeelden: –Audio stream –Video stream

USB protocol 17 Interrupt endpoints Gegarandeerde maximumvertraging (1 ms – 32 ms) Onregelmatige kleine hoeveelheden data Herhaald verzenden Resulteert niet in een “echte” interrupt; er is sprake van ‘polling’

USB protocol 18 Descriptors Bron:

USB protocol 19 String descriptors Unicode karakterset Verschillende talen Kan naar verwezen worden vanuit Device, Configuration & Endpoint descriptors

USB protocol 20 USB klassespecificatie Uitgegeven door USB Implementors Forum Definieert eisen aan device wat betreft: –descriptors –interfaces –endpoints –verzoeken Mogelijkheid tot algemene driver Herkenbaar aan veld in Device descriptor

USB protocol 21 Driverimplementatie URB’s: USB Request Blocks UsbBuildXxx macro’s IoCallDriver functie

USB protocol 22 Einde USB protocol Snelheden Lagenmodel Soorten endpoints Descriptors Klassespecificaties Driverimplementatie

Vragen Er kunnen nu vragen over het USB protocol gesteld worden.

EZ-USB oplossing

25 EZ-USB oplossing Cypress EZ-USB chip Cypress EZ-USB toolkit USB MP3 device USB experimenteerbord

EZ-USB oplossing 26 EZ-USB chip Cypress AN2131 Snelheid effectief 6 MHz (24 MHz ÷ 4 klokpulsen) 8 kilobyte intern RAM Dataoverdracht van MCU naar USB module via RAM geheugen Laden van firmware via USB

EZ-USB oplossing 27 Cypress EZ-USB toolkit Firmware voor Keil C51 –Keil uVision 2 benodigd Test programma (EZ-USB Control Panel) Broncode van een universele driver Veel documentatie

EZ-USB oplossing 28

EZ-USB oplossing 29 USB MP3 Device Twee stereo MP3 naar analoog decoders verbonden via SPI bus via UART met EZ- USB processor Functioneert als terugloopapparaat en genereert een test sinustoon via een speciaal commando Functioneert in de toekomst als USB geluidskaart

EZ-USB oplossing 30 USB experimenteerbord 32 kilobyte extra RAM geheugen EEPROM via I 2 C bus 8 LEDs 4 drukknoppen, optioneel als interrupts 2 RS232 poorten LCD aansluiting Standaardheaders voor uitbreidingen voor printplaat Peter Klijn

EZ-USB oplossing 31

EZ-USB oplossing 32 USB experimenteerbord (2) Hardware is deze week gereed Als voorbeeld wordt een aangepaste driver geschreven Geschikt als voorbeeldhardware bij het schrijven van een eigen driver Geschikt om te leren werken met een 8051 processor

EZ-USB oplossing 33 Einde EZ-USB oplossing Handige toolkit, inclusief alle benodigde broncode en documentatie Tenminste twee projecten maken op dit moment gebruik van de EZ-USB chip Het toekomstgerichte experimenteerbord zorgt dat Cypress EZ-USB voorlopig de standaard is binnen Fontys

Vragen Er kunnen nu vragen over de EZ-USB oplossing gesteld worden.

35 Slot USB USB protocol USB protocol EZ-USB oplossing EZ-USB oplossing USB

36 Inhoud device drivers Tips Tips Vervolg uitleg over device drivers Vervolg uitleg over device drivers Device drivers

Tips 37 Tips IN en OUT zijn lege strings, maar ze bieden wel meer duidelijkheid Noem dispatch routines altijd algemeen bijv. niet “BelDispatchCreate”, maar “DispatchCreate” Maak geen gebruik van CUString klasse Gebruik KdPrint i.p.v. DbgPrint

Uitleg device drivers

Device drivers 39 Uitleg device drivers IRQL’s Overlapped Buffermechanisme

Device drivers 40 Interrupt Request Levels (IRQL) Code binnen een bepaald IRQL kan niet geïnterrumpeerd door code met een lager of gelijk IRQL Code binnen PASSIVE_LEVEL en APC_LEVEL kan wel worden onderbroken door het pre-emption mechanisme voor threads, bij hogere levels kan dat niet Hoe hoger het IRQL, hoe beperkter een driver is in zijn aanroepen Device drivers

41 IRQL (2) HIGH_LEVEL Geen geheugenallocatie DIRQL: hardware IRQL’s DISPATCH_LEVEL Page faults zijn uit den boze APC_LEVEL PASSIVE_LEVEL Page faults mogen voorkomen Device drivers

42 Overlapped Aanroep aan WriteFile, ReadFile en DeviceIoControl is altijd synchroon, ongeacht driverimplementatie CreateFile met FILE_FLAG_OVERLAPPED en extra parameter aan overige functies  langdurige operaties gaan asynchroon

Device drivers 43 Buffermechanismen Buffered I/O Direct I/O –In –Uit

Device drivers 44 Buffered I/O Invoerbuffer Uitvoerbuffer Systeembuffer User mode Kernel mode Systeembuffer uitvoering DispatchDeviceControl routine

Device drivers 45 Direct I/O (in) MDL User mode Kernel mode uitvoering DispatchDeviceControl routine, waarbij gebruikgemaakt wordt van inhoud van gemapt geheugen MDL wordt gemapt in het geheugen gebruikersbuffer wordt gevuld

Device drivers 46 Direct I/O (uit) MDL User mode Kernel mode uitvoering DispatchDeviceControl routine, waarbij geschreven wordt naar gemapt geheugen MDL wordt gemapt in het geheugen inhoud van gebruikersbuffer wordt gebruikt

Device drivers 47 Einde uitleg device drivers IRQL’s Overlapped Buffermechanismen

Vragen Er kunnen nu vragen over device drivers gesteld worden.

49 Slot device drivers Tips Tips Uitleg over device drivers Uitleg over device drivers Device drivers

50 Verdere stage Stage duurt nog circa 11 weken Stage duurt nog circa 11 weken Vrijwel elke dag tot aan de zomervakantie beschikbaar voor vragen over device drivers in lokaal Vrijwel elke dag tot aan de zomervakantie beschikbaar voor vragen over device drivers in lokaal 0.153

Vragen Algemene vragen over deze presentatie kunnen nu gesteld worden.

Einde Deze PowerPoint presentatie is desgewenst te downloaden vanaf: stage.sools.com