Performing Arbitrary Access to VXI Memory with VISA
VISA provides the VXI MEMACC resource class to allow access to arbitrary locations in VXI address spaces. When you open a VXI INSTR resource, VISA automatically performs all register I/O in the address spaces used by that device relative to that device's memory region, and will prevent accidental access outside of the region allocated for your device. If you need to access a memory region not associated with a particular device, or use a low-level scheme for performing your register I/O that uses absolute addresses, you should use the MEMACC resource which provides this capability. When using a MEMACC resource, all address parameters are absolute within the given address space; knowing a device's base address is both required by and relevant to the user. The VISA resource string format for this is "VXI<system>::MEMACC". You can still use the same VISA operations for performing register I/O enumerated above, such as viInX/viOutX, viMoveInX/viMoveOutX, and viMapAddress.