Chapter 3
Developing Your Application
©
National Instruments Corporation
3-7
PCI-Based MXI-2 Interface for Windows
Table 3-1 summarizes the topics the example programs address. All files
are in the
VXIpnp\WinNT\NIvisa\Examples
directory, in the
subdirectories listed below.
Note
MAX includes configuration options that affect low-level functions and shared
memory, as well as trigger mappings and other attributes of the VXI system. Refer to
the MAX help for information regarding these options.
Optimizing Large VXIbus Transfers
For best performance, keep the following in mind when using
viMove()
or
VXImove()
:
•
Make sure your buffers are 32-bit aligned.
•
Transfer 32-bit data whenever possible.
•
Use VXI block access privileges to significantly improve performance
to devices that are capable of accepting block transfers.
•
To optimize move performance on virtual memory systems, lock the
user buffer in memory yourself so the move operation does not need to
lock the buffer.
•
To optimize move performance on paged memory systems, use a
contiguous buffer so the move operation does not need to build a
scatter-gather list for the user buffer.
Table 3-1.
NI-VISA/NI-VXI Examples
Coverage
NI-VISAExample
NI-VXI Example
(Optional)
Message-Based Access
General\RdWrt.c
VXIws.c
High-Level Register Access
VXI-VME\HighReg.c
VXIhigh.c
Low-Level Register Access
VXI-VME\LowReg.c
VXIlow.c
Sharing Memory
VXI-VME\ShareSys.c
VXImem.c
Interrupt Handling
VXI-VME\AsyncIntr.c
and
WaitIntr.c
VXIint.c
Trigger Handling
VXI-VME\WaitTrig.c
VXItrig.c