Home   |   Jungo Corporate Web Site   |   Connectivity Software Store   |   Contact us   |   Search:
Home Connectivity Software Support WinDriver Support Technical Documents

Technical Document #105



Doc ID: 105
Product: WinDriver
Version:  --

Listening to PCI interrupts with the DriverWizard

PCI uses level sensitive interrupts, which must be acknowledged and cleared in the kernel immediately when they are received. Therefore, WinDriver requires you to define an interrupt status register, which should be read/written in order to clear the interrupt. This is a precautionary measurement, because a level sensitive interrupt that is not acknowledged can hang your PC.

To listen to PCI interrupts with the DriverWizard, follow these steps:
  • Define the interrupt status register:
    From the DriverWizard's 'Registers' tab, select 'New' and define a new register. You should specify the register's name, location (i.e., offset into one of the BARs), size and access mode (read/write).
    The interrupt acknowledgment information is hardware specific. You should therefore review your hardware's specification for the relevant data to set for your specific device.

  • Assign the interrupt status register to your card's interrupt:
    After defining the interrupt status register, go back to the 'Interrupts' tab and assign the interrupt that you have defined to the card's interrupt:
    Select your interrupt and click on the 'Edit' button to display the 'Interrupt Information' dialog box. Select the register you have defined from the drop-down list in the 'Access Register' box and fill-in the additional information required for acknowledging the interrupt - i.e. read/write mode and the data (if any) to be written to the status register in order to acknowledge and clear the interrupt. Beginning with version 5.20 of WinDriver, you can define several commands for execution upon an interrupt, by simply clicking the 'More' button in the 'Interrupt Information' window.
    You should also verify that the interrupt is defined as "Level Sensitive" and that the "Shared" box is checked (since PCI interrupts should generally be shared).
[This issue is also explained when clicking the 'Help' button in the 'Interrupt Information' dialog box].

You can now try to listen to the interrupts on your card with the DriverWizard, by clicking the 'Listen to Interrupts' button in the 'Interrupts' tab and then generating interrupts in the hardware. The interrupts that will be received will be logged in the "Log" window. To stop listening to the interrupts, click the 'Stop Listen to Interrupts' button in the 'Interrupts' tab.

For a detailed explanation regarding handling PCI interrupts with WinDriver, please refer to the WinDriver User's Manual.

Back to Top

USB Software


Jungo provides a complete and integrated array of USB software solutions, allowing you to complete your projects rapidly and with total confidence.



Products ranging from Embedded USB Software, through USB Software Communication Drivers, to USB Software Testing, icluding innovative and unique USB software patents, allowing our customers to gain a competative edge.

PCI Software


Our extensive solutions portfolio of PCI software may fit any developer/team who is interested in a rapid development of PCI/PCI-Express connectivity software components.