Forum Discussion
Altera_Forum
Honored Contributor
13 years agoHi Steffen,
PCI and PCIe performance is terrible for read/write accesses. http://www.ovro.caltech.edu/~dwh/correlator/pdf/pci_performance.pdf Once you've got basic accesses working using the pci_debug tool, you can use that tool to manually program a DMA controller. The DMA controller typically resides on the PCIe peripheral board, i.e., your hardware. If you have two boards, then you can DMA between them using the addresses provided by lspci. If you want to DMA from the board to host memory, then you need to create a basic host-side driver that allows you to allocate a page of memory, and provides the physical address of that page. You can then program that info into the DMA controller. There's some driver example code that shows how to do this on this page: http://www.ovro.caltech.edu/~dwh/correlator/cobra_docs.html Its either in the "COBRA device driver" or the ESC 2006 files. Cheers, Dave