• 1
Jan Kok

AP transaction error, DAP status f0000021


This post is to report a problem and a workaround.

My setup: A few weeks ago I installed Vivado 2016.4 and am using an Arty Z7-20 board. I've been working through the Getting Started with the Vivado IP Integrator tutorial https://reference.digilentinc.com/vivado/getting-started-with-ipi/start. At Section 8.3 where I try to run the demo by clicking Run As > Launch on Hardware (System Debugger), I got "Error while launching program: Memory write error at 0x100000. APB AP transaction error, DAP status f0000021"

It turned out that I had the Boot Mode jumper (JP4 on the Arty Z7) set to QSPI. After moving the jumper to JTAG, resetting the board (by pressing the PORB button), clicking Xilinx Tools > Program FPGA > Program, and then clicking Launch on Hardware, the program loaded and ran. Editing the main.c program and clicking Launch on Hardware worked.

Problem solved, right?! Well, not so fast...

If I Program FPGA again without first resetting the board, and then Launch on Hardware, I get any of several errors:

Memory write error at 0x100000. APB AP transaction error, DAP status f0000021

AP transaction error, DAP status f0000021

Memory write error at 0x100000. AP transaction timeout

Once one of those errors has occurred, repeating Launch on Hardware will always get an error, not necessarily the same error each time.

By the way, Program FPGA without first resetting the board never gives any error indication and always turns off and then on the DONE LED. That's not good. It should at least report an error.

If I press the SRST button and then Program FPGA, I get a popup error: "Program FPGA failed / Cannot find memory context of target ARM_DAP".

If I press the PORB button (or power cycle the board), then Program FPGA, then Launch on Hardware, the launch is successful, and repeatedly launching continues to succeed.

So, the full workaround to AP transaction errors after Launch on Hardware is:

1. Make sure the boot mode jumper is set to JTAG, and

2. Press the PORB button, then Program FPGA.

Launch on Hardware should then work.

Share this post

Link to post
Share on other sites

1 answer to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now