Sorry, you need to enable JavaScript to visit this website.

picozed SDR 2x2+vivado 2015.4.2 fbsl can't boot from SD card

Unsolved
7 posts / 0 new
denglin12315's picture
denglin12315
Junior(0)
picozed SDR 2x2+vivado 2015.4.2 fbsl can't boot from SD card

Hi,everyone

I am using "Picozed SDR 2x2" and "PicoZed SDR FMC Carrier Card AES-PZSDRCC-FMC-G" for my work.

 

But I am facing a problem now.I want to control a led on Carrier Card(connect to zynq pin A8) by the manner of use PS + AXT_GPIO.

 

first, I use vivado create hardware diagram,and export it to SDK,after that ,I use SDK create an application as the template of Memory_Test in SDK and I add my own code to contorl the Led. And then,I use JTAG program FPGA and debug Memory_Test,It all works.

 

After that,I use SDK create an application project as the template of Fbsl in SDK,and using bootgen tools in the SDK create a boot image named boot.bin. Copy boot.bin in a SD card and set boot from SD,the fbsl print some information as follows:

 

--------------------------------------------

Xilinx First Stage Boot Loader 

Release 2015.4  Dec 29 2016-09:33:54

Devcfg driver initialized 

Silicon Version 3.1

Boot mode is SD

SD: rc= 0

SD Init Done 

Flash Base Address: 0xE0100000

Reboot status register: 0x60400000

Multiboot Register: 0x0000C000

Image Start Address: 0x00000000

Partition Header Offset:0x00000C80

Partition Count: 3

Partition Number: 1

Header Dump

Image Word Len: 0x0032D130

Data Word Len: 0x0032D130

Partition Word Len:0x0032D130

Load Addr: 0x00000000

Exec Addr: 0x00000000

Partition Start: 0x000065D0

Partition Attr: 0x00000020

Partition Checksum Offset: 0x00000000

Section Count: 0x00000001

Checksum: 0xFF67242E

Bitstream

In FsblHookBeforeBitstreamDload function 

PCAP:StatusReg = 0x40000A30

PCAP:device ready

PCAP:Clear done

Level Shifter Value = 0xA

Devcfg Status register = 0x40000A30

PCAP:Fabric is Initialized done

PCAP register dump:

PCAP CTRL 0xF8007000: 0x4C00E07F

PCAP LOCK 0xF8007004: 0x0000001A

PCAP CONFIG 0xF8007008: 0x00000508

PCAP ISR 0xF800700C: 0x0802000B

PCAP IMR 0xF8007010: 0xFFFFFFFF

PCAP STATUS 0xF8007014: 0x00003A30

PCAP DMA SRC ADDR 0xF8007018: 0x00100001

PCAP DMA DEST ADDR 0xF800701C: 0xFFFFFFFF

PCAP DMA SRC LEN 0xF8007020: 0x0032D130

PCAP DMA DEST LEN 0xF8007024: 0x0032D130

PCAP ROM SHADOW CTRL 0xF8007028: 0xFFFFFFFF

PCAP MBOOT 0xF800702C: 0x0000C000

PCAP SW ID 0xF8007030: 0x00000000

PCAP UNLOCK 0xF8007034: 0x757BDF0D

PCAP MCTRL 0xF8007080: 0x30800100

...................................................................................................

DMA Done ! 

 

FPGA Done ! 

In FsblHookAfterBitstreamDload function 

Partition Number: 2

Header Dump

Image Word Len: 0x00003003

Data Word Len: 0x00003003

Partition Word Len:0x00003003

Load Addr: 0x00000000

Exec Addr: 0x00000000

Partition Start: 0x00333700

Partition Attr: 0x00000010

Partition Checksum Offset: 0x00000000

Section Count: 0x00000001

Checksum: 0xFFCC3685

Application

Handoff Address: 0x00000000

In FsblHookBeforeHandoff function 

No Execution Address JTAG handof

 

 

 

My tool version is: vavido 2015.4.2.

Thanks.

 

 

 

zedhed's picture
zedhed
Moderator(22)
RE: picozed SDR 2x2+vivado 2015.4.2 fbsl can't boot from SD card

Hi denglin12315,

It sounds like your FSBL is not handing off execution to a valid ELF loaded into memory, very similar to this post here:

http://zedboard.org/content/microzed-compiling-u-boot-image-and-creating...

What does the BIF (Boot Image Format) file that SDK generates behind the scenes look like?

Regards,

-Kevin

denglin12315's picture
denglin12315
Junior(0)
Hi Kevin,

Hi Kevin,
    I am sure the BIF (Boot Image Format) file that SDK generates behind the scenes is right. And I finally find if I use  "Periferial_Test" as template to create my led application in SDK, it all works. But if I use "Helloword" or another template to do this, problem will happen like my previously question.
    Regards,
   denglin12315

zedhed's picture
zedhed
Moderator(22)
RE: picozed SDR 2x2+vivado 2015.4.2 fbsl can't boot from SD card

Hi denglin12315,

Hmmm, those are some interesting clues that you point out where some applications work but others do not. I have seen that before where applications run from OCM work but running from DDR does not. This led me to tracking the problem down to a bad DDR configuration from Vivado. I don't think that is the case here because if you are able to run Memory_Test successfully, then that indicates that DDR memory has been configured correctly.

From what you described, it sounds like you are not able to boot your helloword application from BOOT.BIN but are you able to load and run it correctly across the JTAG debug interface?

Regards,

-Kevin

denglin12315's picture
denglin12315
Junior(0)
Hi Kevin,

Hi Kevin,
I am sorry to took a long time to get back to you.These days we have a long vacation for chinese spring festival.
Firstly,it works correctly across the JTAG debug interface,but doesn't across SD card only.
In addition,I have some other questions.As you know,there is one 8GB SD card attached with the picozed SDR2
development kit,and in the SD card,we can find some image file(linux OS) and run it directly on picozed SDR2,via the hdmi
interface,we know it is ubuntu and running iio osc application by ADI.
where can I got source code and cross compile tools to generate these image file? I have already tried to use petalinux
development my own sofware based on picozed SDR2 and ccfmc,but some device(or function) can't run(such as hdmi,ad9361...etc).
So,could you give me some suggestions about this?
Regards,
-lin.deng

mbrown's picture
mbrown
Moderator(7)
Hello denglin12315,
denglin12315's picture
denglin12315
Junior(0)
Hello Matt,

Hello Matt,
Thanks for you replying, it's very helpful!
-lin.deng