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: 
Highlighted
Contributor
Contributor
389 Views
Registered: ‎10-10-2018

What software can be used for production JTAG programming of Zynq?

Jump to solution

I must begin planning for how my FreeRTOS-based application and some associated data areas will be programmed into QSPI flash at "the factory".  I have not spoken yet with the manufacturing engineers at the factory about this, as I would like to get some hands-on experience first and be better prepared for those discussions.

My system is Zynq-7000 with 16 Mbyte QSPI flash and 1 GB DDR.  I use SDK 2018.2 and Digilent HS2 JTAG cable.  I understand about creating boot images (boot image headers, FSBL, etc.).  And I can do the programming using the SDK.  I am not currently using encryption.

I am open to other work flows, but this is what I imagine will happen:

For a newly-manufactured board:

1.  Use command-line Windows utility (TBD) to communicate via the HS2 and load/run a "production loader" application into RAM, and bitstream if necessary (is it necessary?).  With my data areas, this is much more than the 256 KB OCM, so I guess the DDR would be necessary.

2.  The prod loader app will contain the data and images to be programmed into flash.  After it runs and completes its duties, a reset (and jumper change) will launch the real application from QSPI flash.

Question 1:  Can SDK be run from command-line to perform "Program FPGA" and load/run application?  If so, where is documentation for such command-line usage?

Question 2:  Are there utilities other than SDK which are standalone and can run from command-line to perform these actions?  I've seen references to iMPACT, but not sure if it's appropriate.  What about from other vendors, such as Digilent?

Question 3:  What amount of programming is commonly done for manufacturing test prior to loading the final application image and data?  My flash needs a few OTP values programmed before any other erase or programming steps; I want to be sure flash is not changed without those OTP first being programmed.

If anyone can shed light on any of the above, all insights are appreciated!

 

0 Kudos
1 Solution

Accepted Solutions
Scholar drjohnsmith
Scholar
332 Views
Registered: ‎07-09-2009

Re: What software can be used for production JTAG programming of Zynq?

Jump to solution
Id have a good chat with who you want to do the building / programming for you.

Options I have used range from the xilinx JTAG / SPI programming tools, through pre programmed flash , to pre programmed SD cards, booting off Ethernet, through to bed of nails programmers.

The basic idea seems to be to get the basics you need into the system, then use whatever on line update tools your using .
0 Kudos
2 Replies
Moderator
Moderator
334 Views
Registered: ‎09-12-2007

Re: What software can be used for production JTAG programming of Zynq?

Jump to solution

You can use platform_flash utility from the XSCT (Xilinx software command line tool) command line (delivered with SDK). You can use the help for assidtance here.

The platform_flash uses uboot under the hood. This (uboot) runs from ddr, Hence the need for the fsbl ( used to program the ps). 

So since the platform flash is just a uboot binary. You could use uboot utilities directly to program the QSPI. However, you would need to boot uboot over jtag using XSCT too. You can create a simple TCL script to do this.

 

0 Kudos
Scholar drjohnsmith
Scholar
333 Views
Registered: ‎07-09-2009

Re: What software can be used for production JTAG programming of Zynq?

Jump to solution
Id have a good chat with who you want to do the building / programming for you.

Options I have used range from the xilinx JTAG / SPI programming tools, through pre programmed flash , to pre programmed SD cards, booting off Ethernet, through to bed of nails programmers.

The basic idea seems to be to get the basics you need into the system, then use whatever on line update tools your using .
0 Kudos