This chapter describes the WinDriver DriverWizard utility and its hardware
diagnostics and driver code generation capabilities.
DriverWizard (included in the WinDriver toolkit) is a graphical user interface (GUI) tool that is
targeted at two major phases in the hardware and driver development:
-
Hardware diagnostics — DriverWizard enables you to write and
read hardware resources before writing a single line of code. After the
hardware has been built,
insert your device into the appropriate bus slot on your machine, view
its resources — memory and I/O ranges, PCI configuration
registers, and interrupts — and verify the hardware's functionality
by reading/writing memory and I/O addresses, defining and accessing
custom registers, and listening to interrupts.
-
Code generation — Once you have verified that the device is
operating to your satisfaction, use DriverWizard generate skeletal driver
source code with functions to view and access your hardware's resources.
![[Note]](scripts/images/note.png) | |
|---|
|
If you are developing a driver for a device that is based on an
enhanced-support PCI chipset (PLX 6466, 9030, 9050, 9052, 9054, 9056, 9080 and
9656; Altera Qsys design; Xilinx BMD design), we recommend
that you first read Chapter 7: Enhanced Support for Specific Chipsets to understand
your development options.
|
On Windows, DriverWizard can also be used to generate an INF file [15.1] for your hardware.
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, DriverWizard generates the required makefile.