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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
471 Views
Registered: ‎05-11-2018

Issues programming QSPI Flash post secure boot with RSA_EN enabled

Hello,

I've got a ZCU9EG that has both the PPK0_HASH and RSA_EN fuses programmed, and a properly authenticated image programmed into the attached QSPI, along with a FSBL that unlocks the JTAG interface post secure boot. That all works fine and I successfully secure boot the device, and still appear to have access via JTAG as I'm able to use XSCT to read/write memory and connect to the PS complex devices.

However, I'm having issues when I try to program the QSPI flash using the program_flash utility either in the SDK GUI or on the command line. Here's what I see on the console when the GUI fails:

Attempting to launch hw_server at TCP:127.0.0.1:3121

Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn-JTAG-SMT2NC-210308A6518D
	Device 0: jsn-JTAG-SMT2NC-210308A6518D-24738093-0

Retrieving Flash info...

Initialization done, programming the memory
BOOT_MODE REG = 0x0222
WARNING: [Xicom 50-100] The current boot mode is QSPI32.
If flash programming fails, configure device for JTAG boot mode and try again.
ERROR: [Xicom 50-56] Error getting stream information for target node .
Problem in Initializing Hardware
Flash programming initialization failed.

ERROR: Flash Operation Failed

And here's what I see when I try to program via the command line:

Attempting to launch hw_server at TCP:127.0.0.1:3121

Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn-JTAG-SMT2NC-210308A6518D
        Device 0: jsn-JTAG-SMT2NC-210308A6518D-24738093-0

Retrieving Flash info...

Initialization done, programming the memory
ERROR: [Xicom 50-60] Connect operation failed. Please make sure that the device is active.
Problem in Connecting to Target
Flash programming initialization failed.

ERROR: Flash Operation Failed

I suspect that invoking this program is causing something to reset, which is undoing the fact that I think I'm post secure boot. I had seen an old posting that suggested setting the environment variable XIL_CSE_ZYNQ_SKIP_RESET = 1, but that didn't change anything.

Is there something I can do to reprogram the QSPI flash using the Xilinx utilities after successfuly secure booting with RSA_EN enabled? Please let me know. Thanks!

Take care.

  Jim

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
423 Views
Registered: ‎10-11-2011

Re: Issues programming QSPI Flash post secure boot with RSA_EN enabled

I agree the issue is that reset that is trying to force the device to "reboot" in JTAG mode (not allowed when RSA_EN is programmed). Unfortunately I tried to workaround this but without success.

If you have access to JTAG after a successful boot, you should be able to download u-boot and use that to program the flash.

I don't have any other suggestion.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos