The workarounds provided in the Xilinx Answers for QSPI programming using SDK and/or iMPACT target Xilinx Evaluation Boards (zc702 and zc706).
minor modifications may be necessary. For custom boards
To assist in these modifications, a brief description of the Debug Environmental Variables used by iMPACT and SDK is provided.
Please note that the following examples are for demonstration purposes only.
The correct values to apply to the Debug Environmental Variable are described in the Xilinx Answer related to the specific QSPI programming issue.
Debug Environmental Variables: XIL_CSE_ZYNQ_DISPLAY_UBOOT_MESSAGES - When set to 1 this variable enables useful Debug prints during programming. XIL_CSE_ZYNQ_MASKWRITE_00 - Set to F8000700,FFFFFFFF,00001202 and XIL_CSE_ZYNQ_MASKWRITE_01 set to F8000704,FFFFFFFF,00001202 write a particular Zynq register with a specific value. XIL_CSE_ZYNQ_MASKWRITE_00, XIL_CSE_ZYNQ_MASKWRITE_01, XIL_CSE_ZYNQ_MASKWRITE_02, etc... gives the "order" of the writes F8000700,FFFFFFFF,00001202 executes a write to F8000700 only for bits set as 1 in the mask FFFFFFFF with the value 00001202 In this case MIO0 and MIO1 are configured to be connected to QSPI1_SS and QSPI0_SS selecting LVCMOS18. The same Debug Environmental Variable can be used to change clock rates and other settings during QSPI programming. On a custom board you may need to change the values to match the board configuration and layout. Use of Debug Environmental Variables in iMPACT and SDK GUI: The Debug Environmental Variables can be used by the SDK and iMPACT GUI if set in your Windows or Linux machine. See the screen capture below for an example of a Debug Environmental Variable for Windows being set:
Example of setting a Debug Environmental Variable for Linux: setenv XIL_CSE_ZYNQ_MASKWRITE_00 F8000708,FFFFFFFF,00001202
Use of Debug Environmental Variables in iMPACT BATCH mode (for advanced user only): The syntax below can be used to write an iMPACT batch script (for example named qspi.cmd) to set Debug Environmental Variable used during QSPI programming: setenv -env XIL_CSE_ZYNQ_DISPLAY_UBOOT_MESSAGES -value 1
setenv -env XIL_CSE_ZYNQ_MASKWRITE_00 -value F8000700,FFFFFFFF,00001202 setenv -env XIL_CSE_ZYNQ_MASKWRITE_01 -value F8000704,FFFFFFFF,00001202 setMode -bs setCable -port auto identify erase -p 1 -qspi single -image output.mcs blankcheck -p 1 -qspi single -image output.mcs program -p 1 -qspi single -image output.mcs verify -p 1 -qspi single -image output.mcs To run the iMPACT batch file, open a shell and run impact batch from the folder that contains your .mcs. impact -batch qspi.cmd
Note: For more information, see "iMPACT Help."
Was this Answer Record helpful?