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_serverrunning on the machine connected to the target board - JTAG cable connected to the board