I am working on data transferring from PL to DDR RAM. When I run the software application using JTAG, I could read and write to DDR from PS. But the data I write to DDR from my AXI DMA ,does not write on the DDR when my application is running. But after I stopped the application and re-run the application without switching off the board, the data is written on the DDR RAM. My guess is the problem is in my main() function. I may not be calling all the functions to configure the hardware platform correctly. But I can not figure out what it is. This is a sketch of my main() function and headers included in the program. I am using SDK 2016.1 and Vivado 2016.1 for my design.