Home | USB/PCI Driver and Firmware Tools Store | Contact us |
Search:
|

Jungo's Diagnostics Applications


WinDriver for PLX
Special diagnostics applications and their source code are available for PLX, Altera, AMCC, Marvell and QuickLogic in the WinDriver package.

 

Diagnostics Application Overview

The diagnostics program accesses the hardware via WinDriver's special partner API (partner being the specific vendor, for example Altera.)
The diagnostics program is written as a console mode application (and not as a GUI application) in order to simplify your understanding of the source code. (This will help to learn how to use WinDriver's partner API efficiently.)

Use this application as a starting point to build your device driver. If your driver is not a console mode application, you may remove the printf() calls from the code and replace them with MessageBox().

Apart from being a model of how to use the partner API, the diagnostics utility is also a useful utility for any of the partner chip based devices, offering engineers unrestricted read/write access to all PCI registers, PCI devices and PCI buses. It also supports chip registers, host and local memory and port I/O.

 

 
Using the Partner Diagnostics Program

The partner Diagnostics utility accesses the hardware using WinDriver. Therefore WinDriver must be installed before it is able to run.

Once WinDriver is installed, you may run the diagnostics utility by clicking 'Start / Programs / WinDriver / Samples / Partner xyz Diagnostics (here xyz stands for the chip sets number, for example 9050).

The utility will first try to locate the card, according to the default VendorID and DeviceID assigned by the Vendor. If such a card is found, a message "Partner card found" will appear.

Main Menu Options:

Scan PCI bus:
Displays all the cards present on the PCI bus and their resources. (IO ranges, Memory ranges, Interrupts, VendorID/DeviceID). This information may be used to choose the card you need to access.

Locate/Choose Partner board:
Chooses the active card that the diagnostics application will use. You are asked to enter the VendorID/DeviceID of the card you want to access. In case there are several cards with the same VendorID/DeviceID, you will be asked to choose one of them.

PCI configuration registers:
This option is available only after choosing an active card. A list of the PCI configuration registers and their READ value are displayed. These are general registers, common to all PCI cards. In order to WRITE to a register, enter its number, and then the value to write to it.

Access memory ranges on the board:
This option is available only after choosing an active card. Use this option carefully. Accessing memory ranges, accesses the local bus on your card -- If you access an invalid local address, or if you have any problem with your card (such as a problem with the IRDY signal), the CPU may hang.

  • To access a local region, first toggle active mode between BYTE/WORD/DWORD, to fit the hardware you are accessing.
  • To READ from a local address, choose 'Read from board. You will be asked for local address to read from.
  • To WRITE from a local address, choose 'Write from board. You will be asked for local address to write to, and the data to write.

For both board READ and WRITE, the address you give will also be used to set the base address register. LASxBA register is set with the base address, and LASxBRD register is set with the mode (BYTE/WORD/DWORD as chosen as active mode).