UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor jgbaldw
Visitor
512 Views
Registered: ‎05-24-2018

XGpio_SetDataDirection hangs

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.

 

0 Kudos
5 Replies
Moderator
Moderator
439 Views
Registered: ‎11-09-2015

Re: XGpio_SetDataDirection hangs

HI @jgbaldw ,

Some checks you can do:

  • The AXI GPIO is properly clocked (you can display the clock on a LED to check)
  • The AXI GPIO is not held under reset
  • Add an ILA between at the AXI4-Lite interface to see if you are getting the instruction

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
414 Views
Registered: ‎02-04-2019

Re: XGpio_SetDataDirection hangs

jgbaldw,

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! 

https://forums.xilinx.com/t5/AXI-Infrastructure/XGpio-SetDataDirection-hangs/td-p/858167

0 Kudos
Visitor jgbaldw
Visitor
410 Views
Registered: ‎05-24-2018

Re: XGpio_SetDataDirection hangs

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.

0 Kudos
Moderator
Moderator
385 Views
Registered: ‎11-09-2015

Re: XGpio_SetDataDirection hangs

HI @jgbaldw ,

Also did you make sure you are not configured a all inputs or all outputs in the AXI GPIO GUI?


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Visitor jgbaldw
Visitor
375 Views
Registered: ‎05-24-2018

Re: XGpio_SetDataDirection hangs

@florentw, I've tried different combinations of input and output. Again, a design which works on a ZYNQ XC7Z045 (on the ZC 706 board), does not work on a ZYNQ XC7Z020 (on a Zedboard).

0 Kudos