Optimizing Large Vxibus Transfers - National Instruments VXI-MXI-Express Series User Manual

Hide thumbs Also See for VXI-MXI-Express Series:
Table of Contents

Advertisement

Chapter 3
Developing Your Application
Coverage
Message-Based Access
High-Level Register Access
Low-Level Register Access
Interrupt Handling
Trigger Handling
MAX includes configuration options that affect low-level functions and shared
Note
memory, as well as trigger mappings and other attributes of your VXI system. Refer to
the MAX online help for information regarding these options.

Optimizing Large VXIbus Transfers

Note viMemAlloc()
continuous buffers that work efficiently with the move operations.
VXI-MXI-Express Series User Manual
Table 3-1. NI-VISA/NI-VXI Examples
NI-VISA Example
C\General\RdWrt.c
C\VXI-VME\HighReg.c
C\VXI-VME\LowReg.c
C\VXI-VME\AsyncIntr.c
C\VXI-VME\WaitTrig.c
For best performance, keep the following in mind when using
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 can accept block transfers, and likewise use D64 access
privileges for devices that can accept the VME64 64-bit data transfer
protocol.
To optimize move performance on virtual memory systems such as the
Windows operating system, 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 such as
the Windows operating system, use a contiguous buffer so the move
operation does not need to build a scatter-gather list for the user buffer.
or
VXImemAlloc()
and
WaitIntr.c
returns 32-bit aligned, page-locked,
3-4
NI-VXI
Example
(Optional)
VXIws.c
VXIhigh.c
VXIlow.c
VXIint.c
VXItrig.c
viMove()
ni.com

Advertisement

Table of Contents
loading

This manual is also suitable for:

Vxi-8360tVxi-8360ltNi vxi-8360tNi vxi-8360lt

Table of Contents