02-11-2019 10:26 AM
I am using Vivado 2018.1.
On a ZC706 evaluation board I have created a project that implements AXI GPIO blocks to pass data between the PS and PL (both directions). I am now trying to duplicate this design on a ZedBoard.
When targeting a ZedBoard the XGpio_SetDataDirection function does not seem to work. All programs using this function hang. That includes the xgpio_example functions provided.
The function seems to hang when writeReg calls Xil_Out32 with argument 0x41200004. A hard power cycle is required once this failure occurs. Running a new application without power cycling results in the following error:
Error while launching program:
Memory write error at 0x100000. APB AP transaction error, DAP status f0000021
Again, everything workc on the ZC706 board, just not on a ZedBoard (I've tried several with the same result).
Restarting SDK, or creating new projects from scratch has no effect.
03-07-2019 08:27 AM
HI @jgbaldw ,
Some checks you can do:
03-12-2019 12:08 PM
Not sure if this will help but I was experiencing the same problem on my ZCU102 board as well where my program would hang on that same function after being called from XGpio_SetDataDirection. Ultimately, what I found to be my issue was that my workspace had become out of sync with the project and I think was getting confused about where it was calling functions from.
I would try refreshing your workspace and then rebuilding the project to see if that will alleviate the issue. I have had this problem occur with two different projects I've tried to build and refreshing alone worked once but the other time this wouldn't fix the issue but rebuilding the entire project from scratch got it to work. This occurs a majority of the time for me when I try to add on to existing projects in Vivado, which is pretty annoying.
Here's another community thread that helped lead me in the direction of the workspace being out of Sync. Hopefully this helps!
03-12-2019 12:17 PM
Thanks @dylanmcguire119 . I had run across that solution, but it didn't seem to work for me. I've tried starting projects from scratch, and every permutation of restarting Vivado/SDK I can think of. I've also tried using only single channel or dual channel GPIO's. The results are always the same: success with a ZC706 board, and failure with a ZedBoard.
03-13-2019 06:59 AM
HI @jgbaldw ,
Also did you make sure you are not configured a all inputs or all outputs in the AXI GPIO GUI?
03-13-2019 07:24 AM