cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tom.wilson
Visitor
Visitor
2,106 Views
Registered: ‎12-10-2018

Zynq Program Flash Memory (Xilinx SDK)... uboot Failure

Jump to solution

Hi, 

Using a Custom Zynq7010 board, I'm unable to program QSPI Flash using Xilinx SDKs "Program Flash Tool". With the following errors:

"

****** Xilinx Program Flash
****** Program Flash v2018.2 (64-bit)
**** SW Build 2258646 on Thu Jun 14 20:03:12 MDT 2018
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn-JTAG-HS3-210299A17FAA
Device 0: jsn-JTAG-HS3-210299A17FAA-4ba00477-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xF800025C, data=0x00000000 =====
BOOT_MODE REG = 0x00000000
Downloading FSBL...
Running FSBL...
Finished running FSBL.
===== mrd->addr=0xF8000110, data=0x000FA220 =====
READ: ARM_PLL_CFG (0xF8000110) = 0x000FA220
===== mrd->addr=0xF8000100, data=0x00028008 =====
READ: ARM_PLL_CTRL (0xF8000100) = 0x00028008
===== mrd->addr=0xF8000120, data=0x1F000200 =====
READ: ARM_CLK_CTRL (0xF8000120) = 0x1F000200
===== mrd->addr=0xF8000118, data=0x001452C0 =====
READ: IO_PLL_CFG (0xF8000118) = 0x001452C0
===== mrd->addr=0xF8000108, data=0x0001E008 =====
READ: IO_PLL_CTRL (0xF8000108) = 0x0001E008
Info: Remapping 256KB of on-chip-memory RAM memory to 0xFFFC0000.
===== mrd->addr=0xF8000008, data=0x00000000 =====
===== mwr->addr=0xF8000008, data=0x0000DF0D =====
MASKWRITE: addr=0xF8000008, mask=0x0000FFFF, newData=0x0000DF0D
===== mwr->addr=0xF8000910, data=0x000001FF =====
===== mrd->addr=0xF8000004, data=0x00000000 =====
===== mwr->addr=0xF8000004, data=0x0000767B =====
MASKWRITE: addr=0xF8000004, mask=0x0000FFFF, newData=0x0000767B
Problem in running uboot
Flash programming initialization failed.

ERROR: Flash Operation Failed

"

HOWEVER! We have two versions of the target board, one with a Single DDR fitted (16-bit width), one with Dual DDR (32-bit width)... otherwise identical.... I tried programming flash in the same way with the Dual DDR verison, and it completed succesfully (identical boards, identical boot images). The BSP & hdf are only targetting a single DDR, and I've had no issues programming over JTAG. Is uboot configured to operate with dual DDR? If so, how do I modify this configuration so that the SDK tool can be used?

Many Thanks,

Tom

Tags (5)
0 Kudos
Reply
1 Solution

Accepted Solutions
denist
Xilinx Employee
Xilinx Employee
2,056 Views
Registered: ‎10-11-2011

For Flash Programming, the user must provide a fsbl.elf (outside the BOOT.bin).

If that FSBL fails (example hangs in DDR Init) the your u-boot under the hood won't work (Problem in running uboot).

In the FSBL you pass to the Priogrammer, enable all the UART log and see if it fails.

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

View solution in original post

7 Replies
denist
Xilinx Employee
Xilinx Employee
2,057 Views
Registered: ‎10-11-2011

For Flash Programming, the user must provide a fsbl.elf (outside the BOOT.bin).

If that FSBL fails (example hangs in DDR Init) the your u-boot under the hood won't work (Problem in running uboot).

In the FSBL you pass to the Priogrammer, enable all the UART log and see if it fails.

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

View solution in original post

marccolling
Observer
Observer
1,839 Views
Registered: ‎05-30-2014

Hi Tom,

I just run into exactly the same error message.

I don't understand what denist wanted to tell you, so do you found a solution to your problem and can you remember what it was?

 

Thanks!

 

Marc

P.S. I have also two 16 bit DDR chips connected outside and a baremetal software (downloaded via SDK) is running out of it without any problems.

0 Kudos
Reply
denist
Xilinx Employee
Xilinx Employee
1,813 Views
Registered: ‎10-11-2011

If the error is "Problem in running uboot", I suspect the FSBL specified to the flash programmer is NOT executing properly.

Best way to debug this is to enable all the FSBL prints log and check the UART print out during flash programmer.

Does the FSBL handoff properly or the prints are incomplete?

Please report the UART log in this post so I can take a look.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
marccolling
Observer
Observer
1,783 Views
Registered: ‎05-30-2014

Hello denist,

I found the problem. With older Vivado versions it was possible to program the QSPI even if the BOOT_MODE pins were not in JTAG mode.

Now it seems that they MUST be in JTAG mode to program the QSPI.

This is a pity because it means soldering/chaning the pull-resistors during production/programming of the QSPI, what is not really practicable.

 

0 Kudos
Reply
denist
Xilinx Employee
Xilinx Employee
1,751 Views
Registered: ‎10-11-2011

I understand the frustration but handling QSPI boot mode for the flash programmer is pretty difficult because we can't predict what SW is running when we attach to the target.

Does this https://www.xilinx.com/support/answers/70548.html help in any way?

It's true fro zynq-7000 and MPSoC and forces the FSBL specified on the flash programmer to NOT pull extra partitions from flash and simply initialize the device and handoff to u-boot.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
marccolling
Observer
Observer
1,715 Views
Registered: ‎05-30-2014

I did it as described in AR70548. It means to have a hacked FSBL for the flash programmer and the "original" FSBL to program into the QSPI.

It's not nice but it works...

 

0 Kudos
Reply
guodong_zl
Adventurer
Adventurer
538 Views
Registered: ‎05-28-2018

请问您在使用单ddr时,怎么修改fsbl的?我也遇到同样的问题,谢谢!

0 Kudos
Reply