Unable to launch Hello World from Vitis on PYNQ-Z2: DAP status 0xF0000021 error

Hi all,

I’m currently trying to run a basic Hello World application from Vitis on my PYNQ-Z2 board to verify that the setup works correctly. However, I’m encountering the following error when I try to “Launch on Hardware”:
Memory write error at 0x100000. Cannot flush CPU cache.
APB AP transaction error, DAP status 0xF0000021
Failed to initialize hardware.

I’m using:

  • PYNQ-Z2
  • Vivado 2024.1
  • Vitis Unified IDE 2024.2
  • Project goal: Just run the basic Hello World template from Vitis using the Zynq Processing System (PS) only, no PL logic or HLS involved.

In Vivado:

  1. Created a new block design with just the ZYNQ7 Processing System.
  2. Ran Block Automation.
  3. Enabled UART0 and assigned it to MIO 14–15.
  4. Enabled S_AXI_GP0 and connected FCLK_CLK0 to M_AXI_GP0_ACLK.
  5. Validated the design.
  6. Generated Bitstream.
  7. Exported hardware (XSA) with bitstream included.
  8. Successfully programmed the FPGA from Vivado Hardware Manager.

Vitis:

  1. Created a new platform from the .xsa.
  2. Created a new Application Project from the “Hello World” example.
  3. Built successfully.
  4. Opened PuTTY on the correct COM port (115200 baud).
  5. Tried to “Launch on Hardware (Single Application Debug)” → Got the DAP error.

I have verified that the jumper are in JTAG mode, and that the board connections are good

Does anyone know what exactly causes the DAP status 0xF0000021 error?

Any help would be highly appreciated.