cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dpekin
Explorer
Explorer
9,888 Views
Registered: ‎07-09-2012

ZYNQ SDK Program Flash Memory & Create boot image Failures

Hello,

 

We're developing a system based on the ZYNQ chip.  I have been able to successfully build a boot image and load it in an earlier version of the SDK (V13?).  Somewhere along the line (V14.1?) Xilinx changed the file formats that u-boot read.  I think they went from zImage to uImage but can't specifically recall.  Anyway, since then, I have been unable to successfully create a boot image in the SDK.  The SDK generates and "internal error" and java is complaining about a null reference.

 

All of the files that I included in the .bif file are valid and run correctly.  I know this because I  burn the files manually to flash using XMD and the u-boot sf write commands.  Actually, I am able to build a boot image consisting only of the fsbl and u-boot and burn that using the SDK.  The device tree, uImage and uRamdisk I load throught XMD and u-boot.  

 

Now we are spinning the hardware and I must use the SDK and JTAG connector to burn all files into flash.  With the new hardware I loose the serial port until after the system has booted so I won't have access to u-boot unfortunately.  

 

So, I need to be able to either successfully create a full boot image and burn the image from the SDK, or, at a minimum I need to be able to specify a binary file and offset and burn the individual files to the specified offset.

 

The Program Flash Memory option allows one to select a .bin or .mcs file.  When I select a .bin file, uImage.bin for example,  the Program Flash Memory dialog shows an error  "Image file should be .mcs format"  I assume this is an SDK error and have opened a webcase for it.

 

So, my question is: Is there a way to burn individual files to specific offsets in flash from the SDK over the JTAG connector?  Or is there another program that gives me this capability?

 

Thanks in advance.

 

Dave

 

 

8 Replies
leytronix
Visitor
Visitor
9,527 Views
Registered: ‎03-08-2014

Hi Dave,

 

I am running into the same problem. Did you already find a solution?

 

Thanks,

 

TJ

0 Kudos
tifanny357
Newbie
Newbie
9,515 Views
Registered: ‎03-09-2014

This imaging SDK supports creating standard image in various formats.

0 Kudos
msddinabalaji
Visitor
Visitor
9,263 Views
Registered: ‎03-04-2014

hi,

 

can you provide reference manual for booting uad flash/sd card for zc702, i tried then i got flash programmed succeccfully, but when i try to verify it was failed. i didn't get done led on.

 

 

please help me to solve my problem.

 

 

 

Thanks&Regards

Balaji

 

0 Kudos
dpekin
Explorer
Explorer
9,253 Views
Registered: ‎07-09-2012

Hello,  

 

I have some answers to my first post.  The SDK only programs .MCS files to the zynq.  Allowing one to specify a .bin file was an error in the SDK.

 

I have only been able to update specific regions of ZYNQ QSPI memory manually using the XMD commands to load the image, start u-boot, and then use the sf probe/erase/write sequence in u-boot.  

 

I have found making a small .MCS containing just the FSBL, bit file and u-boot. If I need an FSBL update, I can just write that.  I also make MCS files w/ varying pieces of our system.  Each incremental MCS has to include the prior, i.e. the SDK burns from lower address in QSPI on up.  You can't make a MCS file just for a specific region, it has to start at the FSBL and go up from there.

 

I hope this helps.

 

- Dave

 

 

0 Kudos
htsvn
Xilinx Employee
Xilinx Employee
9,226 Views
Registered: ‎08-02-2007

Hi David,

 

How about using bootgen in SDK tool and provide the files with a specific offset?

 

http://www.wiki.xilinx.com/Zc702+Boot+From+Flash

 

would this work for you

 

--Hem

----------------------------------------------------------------------------------------------
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
dpekin
Explorer
Explorer
9,214 Views
Registered: ‎07-09-2012

Hello Hem,

 

I'm not familliar with bootgen.  It may work.  I was looking for a way to burn just a specific region of qspi and it appears that the burn flash image in the SDK always starts erasing at offset 0 to the end of what is defined in the MCS.  But, with the create boot image in the SDK, you have to have a fsbl/uboot so the mcs always starts at 0 anyway.  

 

So for now I still use the xmd and u-boot commands if I need to write a region in the middle of qspi.

 

- Dave

0 Kudos
8,771 Views
Registered: ‎06-18-2014

If anyone runs into this problem, the "Create Zynq Boot Image" in 2013.4 can also create mcs boot images. Change the output extension from bin to mcs.

0 Kudos
russellsnow
Observer
Observer
1,241 Views
Registered: ‎09-17-2018

petalinux-package --boot   --u-boot   --force --fpga  --kernel --format=MCS

ERROR: Boot file format "MCS" is invalid for "aarch64".

0 Kudos