cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
9,627 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
Highlighted
Visitor
Visitor
9,266 Views
Registered: ‎03-08-2014

Hi Dave,

 

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

 

Thanks,

 

TJ

0 Kudos
Highlighted
Newbie
Newbie
9,254 Views
Registered: ‎03-09-2014

This imaging SDK supports creating standard image in various formats.

0 Kudos
Highlighted
9,002 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
Highlighted
Explorer
Explorer
8,992 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
Highlighted
Xilinx Employee
Xilinx Employee
8,965 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
Highlighted
Explorer
Explorer
8,953 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
Highlighted
8,510 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
Highlighted
Observer
Observer
980 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