I am using the AXI DMA (Using the MM2S port.Stores data in the processor and reads out to the PL)here for sending the data to the adrv9009.When I am putting AXI DMA alone ,there is no question of getting the segmentation fault.When I am putting the DMA along with the ADRV9009 ,getting the segmentation fault.
Here I observed one thing
Without ADRV9009
1) Here using the C code to initiliaze the DMA from the linux .(DMA is connected to the HPD ports of processor)
2) To use the physical memory addresses in the Userspace of Linux ,we should use memory map .
3)In the AXI DMA simple mode ,we use two memory addresses, one is DMA address (0xA0000000) which was given by the processor and source address for MM2S port.DMA address is already given by the processor.For the source address i will take the not used DDR memory (To take the DDR memory for source address ,In device tree there is node called the memory,there I mentioned memory ranges from 0 to 1G ) ,So I took it as 0x10000000.
4) When I ran the C code to initialize it ,I got virtual address for DMA FF390000 and for Source address I got FF760000.
With ADRV9009:
In this case ADRV9009 is connected to the LPD and DMA is connected to the HPD ports of processor.
.
When I ran the C code to initialize it ,I got virtual address for DMA FF390000 and for Source address I got FFFFFFFF(maximum address in userspace).So I am getting the segmentation fault..
Let me know which address should I use it for source ..So that AXI DMA initialises without error. Should I take any considerations if I want to put AXI DMA with ADRV9009..