next up previous contents
Next: 4.2 DriverWizard Walkthrough Up: 4. Using DriverWizard Previous: 4. Using DriverWizard   Contents


4.1 An Overview

DriverWizard (included in the WinDriver toolkit) is a GUI-based diagnostics and driver generation tool that allows you to write to and read from the hardware, before writing a single line of code. The hardware is diagnosed through a Graphical User Interface - memory ranges can be read, registers can be toggled and interrupts can be checked. Once the device is operating to your satisfaction, DriverWizard creates the skeletal driver source code, with functions to access your hardware's resources.

If you are developing a driver for a device that is based on one of the enhanced-support PCI chipsets (PLX 9030, 9050, 9052, 9054, 9056, 9080 and 9656; Altera pci_dev_kit; Xilinx VirtexII and Virtex 5; AMCC S5933), we recommend you read Chapter 7, which explains WinDriver's enhanced support for specific chipsets, before starting your driver development.

DriverWizard can be used to diagnose your hardware and can generate an INF file for hardware running under Windows 98/Me/2000/XP/Server 2003/Vista.
Avoid using DriverWizard to generate code for a device based on one of the supported PCI chipsets [7], as DriverWizard generates generic code which will have to be modified according to the specific functionality of the device in question. Preferably, use the complete source code libraries and sample applications (supplied in the package) tailored to the various PCI chipsets.

DriverWizard is an excellent tool for two major phases in your HW/Driver development:

Hardware diagnostics:
After the hardware has been built, insert the hardware into the appropriate bus slot on your machine, and use DriverWizard to verify that the hardware is performing as expected.

Code generation:
Once you are ready to build your code, let DriverWizard generate your driver code for you.

The code generated by DriverWizard is composed of the following elements:

Library functions
for accessing each element of your device's resources (memory ranges, I/O ranges, registers and interrupts).

A 32-bit diagnostics program
in console mode with which you can diagnose your device. This application utilizes the special library functions described above. Use this diagnostics program as your skeletal device driver.

A project workspace/solution
that you can use to automatically load all of the project information and files into your development environment.
For Linux and Solaris, DriverWizard generates the required makefile.