Author Topic: Erasing existing bootloader from SPI-Flash on ZynqBerry  (Read 221 times)

kampi

  • Active Member
  • *
  • Posts: 22
Erasing existing bootloader from SPI-Flash on ZynqBerry
« on: November 29, 2020, 12:14:29 PM »
Hello,

I try to erase the flash memory on my ZynqBerry with Vivado, because I want to use my own FSBL. For this, I open the hardware manager and use the configuration memory wizard with the following settings. But I got the following messages after starting the erase process:

Code: [Select]
connect_hw_server: Time (s): cpu = 00:00:01 ; elapsed = 00:00:06 . Memory (MB): peak = 2704.574 ; gain = 0.000
open_hw_target
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/251633001BB2A
set_property PROGRAM.FILE {G:/Dropbox/Git/ZynqBerry/Vivado/hardware/Minimal.runs/Impl/System_wrapper.bit} [get_hw_devices xc7z010_1]
current_hw_device [get_hw_devices xc7z010_1]
refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7z010_1] 0]
INFO: [Labtools 27-1434] Device xc7z010 (JTAG device index = 1) is programmed with a design that has no supported debug core(s) in it.
create_hw_cfgmem -hw_device [get_hw_devices xc7z010_1] -mem_dev [lindex [get_cfgmem_parts {s25fl128s-3.3v-qspi-x1-single}] 0]
set_property PROGRAM.ADDRESS_RANGE  {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.FILES "" [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.ZYNQ_FSBL {G:/Dropbox/Git/ZynqBerry/vivado/software/FSBL/Debug/FSBL.elf} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.BLANK_CHECK  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.ERASE  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.CFG_PROGRAM  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.VERIFY  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
set_property PROGRAM.CHECKSUM  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
startgroup
program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7z010_1] 0]]
WARNING: [Xicom 50-100] The current boot mode is QSPI.
If flash programming fails, configure device for JTAG boot mode and try again.
Problem in running uboot
Flash programming initialization failed.
ERROR: [Labtools 27-3161] Flash Programming Unsuccessful
ERROR: [Common 17-39] 'program_hw_cfgmem' failed due to earlier errors.

How can I fix this issue?

Best wishes
Daniel

JH

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1554
Re: Erasing existing bootloader from SPI-Flash on ZynqBerry
« Reply #1 on: November 29, 2020, 04:02:27 PM »
Hello, which Vivado Version did you use?

Depending on Vivado version and flash content, you must use different kind of FSBL:

https://wiki.trenz-electronic.de/pages/viewpage.action?pageId=105689937

--> a prebuilt version of  the special FSBL for QSPI programming is included into our reference designs:
https://wiki.trenz-electronic.de/display/PD/TE0726+Test+Board

PS: And use "s25fl128s-3.3v-qspi-x4-single", that's the correct one.

br
John

kampi

  • Active Member
  • *
  • Posts: 22
Re: Erasing existing bootloader from SPI-Flash on ZynqBerry
« Reply #2 on: November 29, 2020, 04:11:48 PM »
Hello,

thank you for your help. I use Vivado 2020.1.1 and your first link was helpful. After creating a new FSBL project and changing the boot mode to JTAG the flash memory is erasable.