I am trying to access a third-party PCI card (Acqiris DP110 digitizer) with MAX 3.0.0.3014, running under Windows 2000, Service Pack 3.
I used the VISA Driver Development Wizard to generate a Win2K driver, without interrupts nor subsystems. After installing the driver, MAX does find the card in its configuration window as a PXI system.
Problem 1 (maybe an indication for problem 3, further below):
The PCI card requests 4 resources:
BAR0 memory space, 256 bytes
BAR1 I/O space, 256 bytes
BAR2 memory space, 4 Kbytes
IRQ (although the generated driver does not support it, yet)
MAX shows the resource allocations as:
BAR0 Memory Range 0xFB000000 - 0xFB0000FF
BAR1 I/O Range 0xC800 - 0xD7FF
BAR2 Memory Range 0xFA800000
- FA8000FF
while the Win2K Device Manager shows the resources:
Memory Range FB000000 - FB0000FF
Input/Output Range C800 - C8FF
Memory Range FA800000 - FA800FFF
There is a clear discrepancy between Win2K and MAX. Why?
Problem2: I turned on NI-Spy. When I open a VISA session with MAX on this PCI card, Spy records 4 vi-calls, of which the last one is
viMemAlloc(id, 1(0x1), 0x011B89E8) which fails with status = VI_ERROR_NSUP_OPER.
What's the purpose of this call, and why should it fail?
Problem 3(the really serious one):
As soon as I try to access (an existing) hardware register in the PLX interface chip, at BAR0, with viIn32 or viOut32, the computer immediately reboots!!!
Note that the BAR0 and BAR1 requests are for the PLX9080 interface chip in PCI card.
Note also that the BAR0 resource allocation is the same in the Windows Device manager AND in MAX!
This problem has been observed with several similar PCI and compactPCI cards, on several computers. The cards are func
tioning OK with our own drivers. Thus, I exclude hardware problems.
Any ideas as to what might be happening, any suggestions as to what else to try?