VxWorks 7 outbound memory and PCIe endpoint DMA data transfer to main m
From Ramesh@21:1/5 to All on Wed Feb 6 02:19:13 2019
Hi,
I am in need of Assistance in setting up DMA transfers from a PCIe device to Main memory. I am working on VxWorks 7 in an Intel board and the problem is as follows.
The PCIe device has a DMA and to perform DMA transfers from it to the main memory. I need to write a buffer address and size to registers on the PCIe card. The PCIe card itself performs the DMA transfers to the buffer address in the Main memory.
I have allocated buffer and written the buffer address and size to the PCIe registers and started the DMA. But I am not finding any data in the allocated buffer and I also didn't receive any interrupt from PCIe(which will raise interrupt after writing to
the buffer).
The problem could be one of two things: either
1. I haven't setup the DMA control registers correctly (I am sure that i have setup the control registers correctly),
or
2. I haven't created correct allocation or given correct type of address to PCIe DMA.
Can anyone give me some pointers here? How do I go about allocating or giving correct address for a PCIe Device DMA.
And What is the best way to convert a virtual memory to Bus memory for PCIe DMA to use in VxWorks.