I've got a FMCOMMS2+Zedboard system that works perfectly, with HW using the axi_ad9361 block provided by ADI, and SW is No-OS under Linux, with console turned on - basically the main.c that's provided by ADI. Very happy with everything. Porting it to ZC706, as final product will use the 7045 Zynq chip. HW design has my DDS in System Generator driving the I/Q ports of the axi_ad9361 block.
Got everything ported, rebuilt HW for 7045, changed DTS for the ZC706 and doubled the DDR memory. Program the board, Linux starts up fine, I start up my application and it works great - HW generates a tone, see it on the spectrum analyzer, and with the console menu I can adjust the LO and see the mixed freq change. I close the application with Ctrl+C.
Start up the application again - Calibration TIMEOUT (0x244, 0x80). Not sure why... Power cycle the board, program everything again - it runs great once. Won't run again. I recompile to Zedboard, build a new bitfile - leave SW completely alone, just change the DDR memory setting in the kernel and change the DTS. DTS changes are basically the USB PHY reset, and the Ethernet PHY. That's it. Rebuilt Zedboard design, with my code and the exact same HDL/SW recompiled works repeatably as always.
Is something getting set with a power-on-reset circuit that I'm not handling when re-running the SW?