Chapter 3
Developing Your Application
VXI-1394 Interface for Windows NT/98
3-8
www.ni.com
High-Level VXIbus Access Functions
For best performance, keep the following in mind when using
VXImove()
:
•
Make sure your buffers are 32-bit aligned.
•
Transfer 32-bit data whenever possible.
•
Using VXI/VME block access privileges significantly improves
performance to devices that are capable of accepting block
transfers.
•
VXImove()
must lock the user buffer in memory on virtual
memory systems, so locking the buffer yourself optimizes
VXImove()
.
•
Because
VXImove()
must build a scatter-gather list for the user
buffer on paged memory systems, using a contiguous buffer
optimizes
VXImove()
.
VXImove()
can also move blocks of data to and from a single VXI/VME
address. This is commonly referred to as
FIFO mode
. For more
information, refer to the NI-VXI Programmer Reference Manual.
Notes about VME Support
To use VME devices in your system, configure NI-VXI to see these devices
by using the Add Device Wizard in T&M Explorer. VME devices with
two blocks of memory in the same address space require two entries. You
can also specify which interrupt levels the device uses. VXI and VME
devices cannot share interrupt levels. You can then access the VME device
from NI-VXI or NI-VISA just as you would a register-based VXI device,
by specifying the address space and the offset from the base at which you
have configured it. NI-VISA support for VME devices includes the register
access operations (both high-level and low-level) and the block move
operations, as well as the ability to receive interrupts.