Debugging QSPI and OSPI Flash with cfgmem_util - Debugging QSPI and OSPI Flash with cfgmem_util - 2026.1 English - UG908

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2026-06-23
Version
2026.1 English

cfgmem_util is a command-line tool for interacting with QSPI and OSPI flash memory on AMD devices over JTAG.

When working with QSPI or OSPI flash memory on Zynq UltraScale+ MPSoC and Versal devices, you might encounter flash-related issues such as incorrect device identification, communication failures, or incorrectly configured settings. Historically, debugging these issues required building a custom bare-metal application based on QSPI driver example code or a custom U-Boot build. Both approaches require knowledge of AMD embedded software development tools and a customer platform XSA file.

This tool leverages JTAG access to the QSPI/OSPI controller to perform basic flash operations directly, without requiring an XSA file, DDR memory, or a custom software build. It supports querying flash properties, reading flash contents, configuring clock and quad-enable settings, sending raw SPI commands, and running sequences of operations from a JSON file.

Prerequisites

  • Vivado, Vitis, or Vivado Design Suite 2026.1 or later
  • hw_server running on the machine connected to the target board
  • JTAG cable connected to the board