I'm software engineer and I have a task to write source code for providing communacation between PC and board ML507 through PCIExpress. I've no experience with hardware. This is a short description of the system:
x86 Win. I've read some documents and noticed that there are existing drivers for PCIe even with DMA support.
According to some docs I've read I can send only 1 DWORD of data in TL packet. So I'm going to use DMA to accelerate this transfer.
ML507. I'm going to use Xilkernel on board. FPGA fabric implements some algorithms. Input and output data for these algorithms is stored in BRAMs linked to fabric. PowerPC executes main programm written in "C" and uses SODIMM DDR2.
So my questions are:
1. Is there any way to transfer data from PC directly to board SODIMM DDR2 using PCIe?
2. Is there any "C" API for block that implements this communication?
3. How can I handle PCIe interrupts?
I saw many docs but they contain Endpoint block Plus specifications with register descriptions, signal diagramms. I guess I need them but what about a higher level. Maybe some wrapper exists with "C" API? From where should I start?