Windriver™ PCI/ISA User's Manual
Total Page:16
File Type:pdf, Size:1020Kb
WinDriver™ PCI/ISA User's Manual Jungo Connectivity Ltd. Version 14.6.0 WinDriver™ PCI/ISA User's Manual Copyright © 2021 Jungo Connectivity Ltd. All Rights Reserved Information in this document is subject to change without notice. The software described in this document is furnished under a license agreement. The software may be used, copied or distributed only in accordance with that agreement. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or any means, electronically or mechanically, including photocopying and recording for any purpose without the written permission of Jungo Connectivity Ltd. Brand and product names mentioned in this document are trademarks of their respective owners and are used here only for identification purposes. © 2021 Jungo Connectivity Ltd. ii CONFIDENTIAL Table of Contents 1. WinDriver Overview .................................................................................................................. 1 1.1. Introduction to WinDriver ............................................................................................... 1 1.2. Background ...................................................................................................................... 2 1.2.1. The Challenge ....................................................................................................... 2 1.2.2. The WinDriver Solution ....................................................................................... 2 1.3. How Fast Can WinDriver Go? ........................................................................................ 3 1.4. Conclusion ....................................................................................................................... 3 1.5. WinDriver Benefits .......................................................................................................... 3 1.6. WinDriver Architecture ................................................................................................... 5 1.7. What Platforms Does WinDriver Support? ..................................................................... 6 1.8. Limitations of the Different Evaluation Versions ........................................................... 6 1.9. How Do I Develop My Driver with WinDriver? ............................................................ 7 1.9.1. On Windows and Linux ....................................................................................... 7 1.10. What Does the WinDriver Toolkit Include? ................................................................. 7 1.10.1. WinDriver Modules ............................................................................................ 7 1.10.2. Utilities ................................................................................................................ 8 1.10.3. Samples and Enhanced-Support Chipset APIs ................................................... 9 1.10.3.1. Enhanced Chipset Support ....................................................................... 9 1.11. Can I Distribute the Driver Created with WinDriver? .................................................. 9 2. Understanding Device Drivers ................................................................................................. 10 2.1. Device Driver Overview ................................................................................................ 10 2.2. Classification of Drivers According to Functionality ................................................... 10 2.2.1. Monolithic Drivers .............................................................................................. 10 2.2.2. Layered Drivers .................................................................................................. 11 2.2.3. Miniport Drivers ................................................................................................. 12 2.3. Classification of Drivers According to Operating Systems .......................................... 13 2.3.1. WDM Drivers ..................................................................................................... 13 2.3.2. WDF Drivers ...................................................................................................... 14 2.3.3. Unix Device Drivers ........................................................................................... 14 2.3.4. Linux Device Drivers ......................................................................................... 14 2.4. The Entry Point of the Driver ....................................................................................... 14 2.5. Associating the Hardware with the Driver .................................................................... 15 2.6. Communicating with Drivers ........................................................................................ 15 3. Installing WinDriver ................................................................................................................. 16 3.1. System Requirements .................................................................................................... 16 3.1.1. Windows System Requirements ......................................................................... 16 3.1.2. Windows 10 IoT Core System Requirements .................................................... 16 3.1.3. Linux System Requirements ............................................................................... 17 3.2. WinDriver Installation Process ...................................................................................... 17 3.2.1. Windows WinDriver Installation Instructions .................................................... 17 3.2.2. Linux WinDriver Installation Instructions ......................................................... 18 3.2.2.1. Preparing the System for Installation ...................................................... 18 3.2.2.2. Installation ................................................................................................ 19 3.2.2.3. Restricting Hardware Access on Linux ................................................... 21 3.3. Upgrading Your Installation .......................................................................................... 22 3.4. Checking Your Installation ............................................................................................ 22 © 2021 Jungo Connectivity Ltd. iii CONFIDENTIAL Table of Contents 3.4.1. Windows and Linux Installation Check ............................................................. 22 3.5. Uninstalling WinDriver ................................................................................................. 22 3.5.1. Windows WinDriver Uninstall Instructions ....................................................... 23 3.5.2. Linux WinDriver Uninstall Instructions ............................................................. 25 4. Using DriverWizard .................................................................................................................. 26 4.1. An Overview .................................................................................................................. 26 4.2. DriverWizard Walkthrough ........................................................................................... 27 4.2.1. Import Register Information from CSV file ....................................................... 34 4.2.2. Automatic Code Generation ............................................................................... 35 4.2.2.1. Generating the Code ................................................................................ 35 4.2.2.2. The Generated PCI/ISA C Code ............................................................. 35 4.2.2.3. The Generated PCI/ISA Python Code ..................................................... 36 4.2.2.4. The Generated PCI/ISA Java Code ......................................................... 36 4.2.2.5. The Generated PCI/ISA C#.NET Code ................................................... 37 4.2.3. Compiling the Generated Code .......................................................................... 38 4.2.3.1. Windows Compilation ............................................................................. 38 4.2.3.1.1. Running compiled code under Windows 10 IoT Core ................. 38 4.2.3.2. Linux Compilation ................................................................................... 38 5. Developing a Driver ................................................................................................................. 39 5.1. Using DriverWizard to Build a Device Driver ............................................................. 39 5.2. Writing the Device Driver Without DriverWizard ........................................................ 40 5.2.1. Include the Required WinDriver Files ............................................................... 40 5.2.2. Write Your Code ................................................................................................ 41 5.2.3. Configure and Build Your Code ........................................................................ 41 6. Debugging Drivers .................................................................................................................... 43 6.1. User-Mode Debugging .................................................................................................. 43 6.2. Debug Monitor ..............................................................................................................