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: 
Adventurer
Adventurer
1,201 Views
Registered: ‎08-06-2018

FSBL example not working

Hi everyone,

 

I'm using zynq on SDK 2017.4. I'm new to the SDK and FSBL, and I'm  trying to use the zynq FSBL example project to load and run a helloworld project.

I use the QSPI boot mode and here are my steps:

1. generate the mcs file:

boot image.PNG

2. program flash

program flash.PNG

However, if I check on either "Blank check after erase" or "verify after flash",  flash operation fails .

progam fail.PNG

Program success only when both choice unchecked. So I wonder whether it is actually programmed successfully. Is there any way to check whether it has indeed programmed successfully?

program success.png

3. power OFF and ON. But nothing coming out from the serial console(I already defined the debug macro in source code). Is there any other operations need be done before or after the  power off and on?

 

Since nothing info coming out , I try to debug the fsbl project in the system debugger and get the info below:

serial console.png

It says DATA_ABORT_HANDER, I get into  the source code , it aborts at "if (PartitionCount >= MAX_PARTITION_NUMBER) ", the PartitionCount is 14 which equals to the MAX_PARTITION_NUMBER, so it leads to an invalid partition count.

 

fsbl error src.png

 

So , What's the problem ? Anything wrong with my operations or Any hint where goes wrong?

 

Best regards,

rj

0 Kudos
6 Replies
Adventurer
Adventurer
1,195 Views
Registered: ‎08-06-2018

Re: FSBL example not working

The debug info varies, sometimes it is like this:

error a00e.PNG

 

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,183 Views
Registered: ‎10-30-2017

Re: FSBL example not working

Hi @ruijie,

 

Please set this environment variable in your system and try again

XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ = 10000000

 

or try to program using SDK 2017.2 tools.

 

Best Regards,
Srikanth
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.

0 Kudos
Adventurer
Adventurer
1,164 Views
Registered: ‎08-06-2018

Re: FSBL example not working

Thank you @savula

 

I set the variable in the system environment of my win10, But nothing different happened.

Is there any tools that can help me to verify whether the program has successed?

The partition count error is actually because of a flash program failure?

 

Best Regards,

rj

 

 

0 Kudos
Adventurer
Adventurer
1,158 Views
Registered: ‎08-06-2018

Re: FSBL example not working

Hi @savula

I set XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ = 10000000 and XIL_CSE_ZYNQ_DISPLAY_UBOOT_MESSAGES  = 1.

when I program flash, the uart prints :

prints while programming.PNG

the console prints:

cmd /C program_flash -f D:\AXI_DMA_LOOP\Miz_sys\Miz_sys.sdk\hello\bootimage\BOOT.mcs \
-offset 0x0 -flash_type qspi_single -fsbl \
D:\AXI_DMA_LOOP\Miz_sys\Miz_sys.sdk\fsbltest\Debug\fsbltest.elf -cable type xilinx_tcf url \
TCP:127.0.0.1:3121 

****** Xilinx Program Flash
****** Program Flash v2017.4 (64-bit)
  **** SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

Connecting to hw_server @ TCP:127.0.0.1:3121

WARNING: Failed to connect to hw_server at TCP:127.0.0.1:3121
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-DLC9LP-00000000000000
	Device 0: jsn-DLC9LP-00000000000000-4ba00477-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xF800025C, data=0x00000001 =====
BOOT_MODE REG = 0x00000001
WARNING: [Xicom 50-100] The current boot mode is QSPI.
If flash programming fails, configure device for JTAG boot mode and try again.
===== mrd->addr=0xF8007080, data=0x30800100 =====
===== mrd->addr=0xF8000B18, data=0x80008000 =====
===== mrd->addr=0xF8000008, data=0x00000000 =====
===== mwr->addr=0xF8000008, data=0x0000DF0D =====
MASKWRITE: addr=0xF8000008, mask=0x0000FFFF, newData=0x0000DF0D
===== mrd->addr=0xF8000110, data=0x00177EA0 =====
===== mwr->addr=0xF8000110, data=0x00177EA0 =====
MASKWRITE: addr=0xF8000110, mask=0x003FFFF0, newData=0x00177EA0
===== mrd->addr=0xF8000100, data=0x0001A008 =====
===== mwr->addr=0xF8000100, data=0x0001A008 =====
MASKWRITE: addr=0xF8000100, mask=0x0007F000, newData=0x0001A008
===== mrd->addr=0xF8000100, data=0x0001A008 =====
===== mwr->addr=0xF8000100, data=0x0001A010 =====
MASKWRITE: addr=0xF8000100, mask=0x00000018, newData=0x0001A010
===== mrd->addr=0xF8000100, data=0x0001A010 =====
===== mwr->addr=0xF8000100, data=0x0001A011 =====
MASKWRITE: addr=0xF8000100, mask=0x00000001, newData=0x0001A011
===== mrd->addr=0xF8000100, data=0x0001A011 =====
===== mwr->addr=0xF8000100, data=0x0001A010 =====
MASKWRITE: addr=0xF8000100, mask=0x00000001, newData=0x0001A010
===== mrd->addr=0xF800010C, data=0x0000003F =====
READ: addr=0xF800010C, Data=0x0000003F
===== mrd->addr=0xF8000100, data=0x0001A010 =====
===== mwr->addr=0xF8000100, data=0x0001A000 =====
MASKWRITE: addr=0xF8000100, mask=0x00000010, newData=0x0001A000
===== mrd->addr=0xF8000120, data=0x1F000400 =====
===== mwr->addr=0xF8000120, data=0x1F000400 =====
MASKWRITE: addr=0xF8000120, mask=0x1F003F30, newData=0x1F000400
===== mrd->addr=0xF8000118, data=0x00177EA0 =====
===== mwr->addr=0xF8000118, data=0x00177EA0 =====
MASKWRITE: addr=0xF8000118, mask=0x003FFFF0, newData=0x00177EA0
===== mrd->addr=0xF8000108, data=0x0001A008 =====
===== mwr->addr=0xF8000108, data=0x0001A008 =====
MASKWRITE: addr=0xF8000108, mask=0x0007F000, newData=0x0001A008
===== mrd->addr=0xF8000108, data=0x0001A008 =====
===== mwr->addr=0xF8000108, data=0x0001A010 =====
MASKWRITE: addr=0xF8000108, mask=0x00000018, newData=0x0001A010
===== mrd->addr=0xF8000108, data=0x0001A010 =====
===== mwr->addr=0xF8000108, data=0x0001A011 =====
MASKWRITE: addr=0xF8000108, mask=0x00000001, newData=0x0001A011
===== mrd->addr=0xF8000108, data=0x0001A011 =====
===== mwr->addr=0xF8000108, data=0x0001A010 =====
MASKWRITE: addr=0xF8000108, mask=0x00000001, newData=0x0001A010
===== mrd->addr=0xF800010C, data=0x0000003F =====
READ: addr=0xF800010C, Data=0x0000003F
===== mrd->addr=0xF8000108, data=0x0001A010 =====
===== mwr->addr=0xF8000108, data=0x0001A000 =====
MASKWRITE: addr=0xF8000108, mask=0x00000010, newData=0x0001A000
===== mrd->addr=0xF8000004, data=0x00000000 =====
===== mwr->addr=0xF8000004, data=0x0000767B =====
MASKWRITE: addr=0xF8000004, mask=0x0000FFFF, newData=0x0000767B
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




U-Boot 2017.01-00148-g4c61f9b-dirty (Sep 22 2017 - 09:50:06 -0600), Build: jenkins-mini_uboot-mini_uboot-218



Model: Zynq CSE QSPI Board

Board: Xilinx Zynq

DRAM:  ECC disabled 256 KiB

WARNING: Caches not enabled

Using default environment



In:    dcc

Out:   dcc

Err:   dcc

Model: Zynq CSE QSPI Board

Board: Xilinx Zynq

Zynq> sf probe 0 10000000 0


SF: unrecognized JEDEC id bytes: 00, 00, 00

Failed to initialize SPI flash at 0:0 (error -2)

Zynq> Sector size = 0.
f probe 0 10000000 0


Performing Erase Operation...
sf erase 0 10C0000


No SPI flash selected. Please run `sf probe'

Zynq> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 0 sec.
Performing Program Operation...
0%...sf write FFFC0000 0 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 100000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 120000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 140000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 160000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 180000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 10%...sf write FFFC0000 1C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 200000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 220000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 240000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 260000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 280000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 2A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 2C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 2E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 300000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 320000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 340000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 20%...sf write FFFC0000 360000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 380000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 3A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 3C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 3E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 400000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 420000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 440000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 460000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 480000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 4A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 4C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 4E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 30%...sf write FFFC0000 500000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 520000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 540000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 560000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 580000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 5A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 5C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 5E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 600000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 620000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 640000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 660000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 680000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 6A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 40%...sf write FFFC0000 6C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 6E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 700000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 720000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 740000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 760000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 780000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 7A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 7C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 7E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 800000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 820000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 840000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 50%...sf write FFFC0000 860000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 880000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 8A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 8C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 8E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 900000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 920000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 940000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 960000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 980000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 9A0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 9C0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 9E0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 60%...sf write FFFC0000 A00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 A20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 A40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 A60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 A80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 AA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 AC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 AE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 B00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 B20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 B40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 B60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 B80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 BA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 70%...sf write FFFC0000 BC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 BE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 C80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 CA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 CC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 CE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 D00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 D20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 D40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 80%...sf write FFFC0000 D60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 D80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 DA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 DC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 DE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 E80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 EA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 EC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 EE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 90%...sf write FFFC0000 F00000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 F20000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 F40000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 F60000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 F80000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 FA0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 FC0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 FE0000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1000000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1020000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1040000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1060000 20000


No SPI flash selected. Please run `sf probe'

Zynq> sf write FFFC0000 1080000 20000


No SPI flash selected. Please run `sf probe'

Zynq> 100%
sf write FFFC0000 10A0000 19808


No SPI flash selected. Please run `sf probe'

Zynq> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 262 sec.

Flash Operation Successful

it says 100% successful, But continuely warning" No SPI flash selected..."

0 Kudos
Moderator
Moderator
1,138 Views
Registered: ‎03-19-2014

Re: FSBL example not working

Can you change your boot mode to JTAG and try again?   It looks like your guide FSBL is not running to completion.  

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Community Manager
Community Manager
1,098 Views
Registered: ‎07-23-2012

Re: FSBL example not working

As per the U-boot log, the flash wasn't detected. You can try the suggestion provided by Glen and also it would be worth trying to program the flash in latest version of SDK.

Also please run the standalone QSPI example application to make sure that the interface to QSPI flash is working.
-----------------------------------------------------------------------------------------------
Please mark the post as "Accept as solution" if the information provided answers your query/resolves your issue.

Give Kudos to a post which you think is helpful.
0 Kudos