JFM,
Je ne crois pas qu'il soit possible de forcer VISA à allouer de la mémoire au démarrage du driver VISA.
Par contre, il est possible au niveau user (Dans votre application ou votre driver) d'instancier la ressources VISA Memory Access (MEMACC)pour allouer des blocs de mémoires contigues qui pourront être utilisées exclusivement pour la gestion du DMA.
Sur le lien suivant, vous trouverez des informations concernant ce mecanisme au travers de NI VISA pour LabVIEW RT, mais ceci est équivalent pour VISA Windows. (Reportez vous aux rubriques DMA)
http://zone.ni.com/devzone/conceptd.nsf/webmain/97a3dcc557ffaf7086256d2c0057dece?OpenDocument
A titre d'exemple, nous fournisssons gratuitement un MHDDK (HArdware Developpement Kit), qui permet de travailler avec des cartes NI (DAQ, DIO) sur des environnements non supportés (Linux, Mac) par nos drivers. Le DDK est en ensemble de fonctions de haut niveau qui sont OS indépendant. L'utilisateur à seulement besoin de développer la couche dite OSi (OS interface) qui est spécifique à chaque OS.
Vous trouverez dans les liens ci dessous, une note descriptive du DKK ainsi que les fichier à utiliser. Ce qui est important, c'est que la couche OSi à été développé pour les plateforme supporte VISA pour le PCI/PXI. Ainsi vous trouverez dans les exemples de gestion des carte 6533 (DIO rapide), l'implémentation du DMA au travers de VISA.
Voici un présentation du DDK:
http://sine.ni.com/apps/we/nioc.vp?cid=11737〈=US
Sur le lien ci dessus, (après un enregistrement gratuit) vous pourrez le DDK pour different type de carte. Téléchargez et étudiez le DDK pour la carte PCI 6533, car il sera très instructif pour gérer le DMA avec VISA.
Cordialement,
Raphaël TILLET
NI FRANCE.
Cordialement,
Raphael T