After about 4 or 5 VME Map commands using different programs I can not open anymore VME spaces. Each program opens a window of about 1-2k. I have the hardware configured for 256K or A32 sharing and PCI. But even when I increase this number I get the VME MAP Error. Is there a limit to the number of threads that can map to VME at any one time?
There are a maximum of 4 windows that you can map at any one time using the viMapAddress (NI-VISA API) or MapVXIAddress (NI-VXI API) commands.
As an alternative, considering using high level operations like viIn or viOut for register accesses or viMove operations for block moves of data. We optimize our high level access operations so that for many scenarios, it might actually be faster to use the high level operations instead of manually mapping a window and using peek/poke operations.