NOTE: This document refers to the standard WinDriver driver development toolkit. For information regarding the WinDriver USB Device toolkit, for development of USB device firmware (Windows), refer to the WinDriver USB Device page on our site.
WinDriver is a toolkit that allows easy access to hardware from the user
mode.
It is ideal for PCI/cPCI/CardBus/PCMCIA/PCI-X/PCI Express/ISA/ISA PnP/EISA and USB device driver development. (References to "PCI" in this document should be taken to refer also to the cPCI, CardBus, PCMCIA (Windows), PCI-X and PCI Express buses).
WinDriver supports I/O operations, access to memory mapped cards, hardware
interrupts handling, DMA transfers, read/writes from USB pipes, Plug and Play and
power management events handling and multi-board handling.
The code you develop with WinDriver will be cross-platform compatible
across all the supported operating systems for the version that you are using. For a list of the supported operating systems for each version, please refer to Technical Documents #4 and #50.
WinDriver supports development for ALL PCI chip-sets and USB devices. In addition, it features enhanced support for major PCI chip vendors, such as PLX, Altera and Xilinx, as well as enhanced USB support for major development board manufacturers, such as Cypress, Philips, Microchip and Texas Instruments, thereby hiding most of the intrinsic bus details from the user and allowing you to concentrate on your device-specific logic. For more information regarding this
enhanced support, please refer to the WinDriver PCI or WinDriver USB web pages and to the WinDriver User's Manual.
You can use WinDriver's powerful graphical DriverWizard utility to
easily detect/define the hardware's resources and debug your hardware, by
transferring data to/from the hardware, listening to interrupts, etc., without
writing a single line of code.
You can also use the DriverWizard to generate skeletal diagnostics code
for your device, which will provide you with convenient wrapper functions that utilize WinDriver's API to communicate with your specific device. Furthermore, you can review the various samples provided with WinDriver to see if there is a sample that
may serve as a skeletal basis for your driver application.
WinDriver enables all development to be done in the user mode and
frees you of the need for any kernel and/or OS-specific driver development knowledge (such as familiarity with the Windows DDK).
For a description of WinDriver's basic architecture, please refer to the WinDriver Architecture page.
For PCI/ISA development, after you develop your application in the user mode, you will also be able to use WinDriver's special Kernel PlugIn feature in order to simply move performance critical parts of your code from your application or DLL (in Ring 3) to the Kernel level (ring 0) for optimal performance.
To help you in your initial steps with WinDriver, please visit the
WinDriver Support Page for on-line tours and Quick Start guides as well as other useful information, which can facilitate your development process.
Back to Top
|