cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
501 Views
Registered: ‎10-31-2017

Burning image on production

Hello, all.

 

I would like to know how to deal with burning the software images in my board during production.

 

My board is based on Zynq XC7Z020. It has a QSPI flash that is intended to store the secondary boot loader (U-Boot) and OS image(s). There is also a u-SD socket on board. At the moment, it is being used as the main boot device for development purposes but our intention is using it to store logs and other variable information (e.g. non critical configuration). An on-board dip-switch allows to choose the boot device (SD, QSPI or JTAG).

 

My question is if it there is a simple and practical way to burning the images in the QSPI. Preferably one that does not require changing the dip-switch setting. FWIW we are not using the secure boot resources in our application.

 

Thanks in advance for any tip or directions.

0 Kudos
7 Replies
Highlighted
Adventurer
Adventurer
436 Views
Registered: ‎10-31-2017

Not possible?
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
416 Views
Registered: ‎04-15-2011

Usually, there are 3rd party services for customer to program QSPI flash in production before soldering QSPI flash on board. So you can search for such service.
Or you can program QSPI flash in u-boot if your board can boot up to u-boot.
But if you want to program QSPI flash by SDK/Vivado. it is always suggested to change boot mode to JTAG mode.
-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Adventurer
Adventurer
407 Views
Registered: ‎09-05-2018

in our solution is a custom board were we use the SD card to boot (via a jumper)  and install automatically on an eMMC internal, then remove the jumper

and it boot automatically to you QSPI flash

 

Highlighted
Adventurer
Adventurer
396 Views
Registered: ‎10-31-2017

Hello, @longley 

 

About preprogramming the flash, it is not a bad idea but I am not sure it is viable in our case on the short term.

About programming QSPI in u-boot, could you elaborate? I mean, shouldn't u-boot be preprogrammed? (Sorry if it is too a basic question, I may be missing something obvous).

About the third idea (boot in JTAG mode), I will dig deeper on it.

0 Kudos
Highlighted
Adventurer
Adventurer
394 Views
Registered: ‎10-31-2017

@ericzerbib ,

 

Yes, this is the plan, should we not find a more automatic way (dip switch instead of jumper in our case).

0 Kudos
Highlighted
391 Views
Registered: ‎07-23-2019

 

That sort of things deserve a spare minute at early design stages. Funny to see so many projects with a lovely end product then wondering "how do we program it?"

as said before, and I think the easiest, most competitive way is to order flash memories pre-written.

After that, plenty of DIY solutions... usually FPGA-based products have small batches (~100) than an operator can do in a few days. Then there are more automated solutions but production figures need to justify the expense.

0 Kudos
Highlighted
Advisor
Advisor
380 Views
Registered: ‎04-26-2015

How about using the JTAG connector to override the jumper settings? If you have the DIP switches (or jumpers) connected to the boot mode pins through 1K - 10K resistors, and have the pins also wired to GND on the JTAG connector (or, if you're using a connector type that has a separate insertion-detect contact, you can use that) then as soon as you plug the JTAG connector in you're in JTAG boot mode.