UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 59272

Zynq-7000 AP Soc - 2013.3 SDK / 14.7 iMPACT- Brief description of useful Debug Environmental Variables for QSPI Programming

Description

The workarounds provided in the Xilinx Answers for QSPI programming using SDK and/or iMPACT target Xilinx Evaluation Boards (zc702 and zc706).

For custom boards minor modifications may be necessary.

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.

Solution

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."

AR# 59272
Date Created 01/29/2014
Last Updated 05/08/2014
Status Active
Type General Article
Devices
  • Zynq-7000
Tools
  • EDK - 14.7