cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
730 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
Highlighted
Xilinx Employee
Xilinx Employee
682 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