From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

DMA help using CVI.

Writing a DMA driver in CVI. I want a PCI device to sent data to a buffer for my CVI application. How to I find/lock an area of memory and get a ponter to it? I can use MapPhysicalMem if I have a address. My problem is findig an address in PCI space to supply the DMA controller.
0 Kudos
Message 1 of 2
(2,587 Views)
Hi John,

My knowledge of PCI programming is limitted, but I think that the memory address that you need to write the data to must correspond to the resources that the OS has reserved for the device. In this case Windows will reserve a certain memory range for the device; there must likely be a base address and some offsets definead to access the memory in the device.

I would recommend to get some exmple code for the device or start playing with the memory addresses that you can ge in device manager.

I hope this helps a bit.

Regards,

Juan Carlos
N.I.
0 Kudos
Message 2 of 2
(2,587 Views)