QSPI flash is commonly used as a boot device. In Versal devices, there is an integrated QSPI controller in PMC which can be access by both internal A72/R5F APU (normally) and external CPU. This application provides a framework for an external CPU (host PC) programming of QSPI Flash memory. The external CPU communicates with the Versal QSPI Flash Controller through the PCIe, without involving the Versal PS. If DDR is inaccessible, this application does not even need DDR. The PL BRAM can be used instead.