cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
1,245 Views
Registered: ‎08-17-2018

Programming Flash via JTAG

Jump to solution

Attempting to program a custom board that uses an UltraScale+ chip, XCZU2CG-2SFVC784I.  Using the Program Flash tool in Xilinx SDK 2017.4, I have attempted to program a Micron MT25QU01G series memory device that is connected via a QSPI Parallel connection. 

I have created a very bare-bones firmware that sends a discrete signal periodically to an IC on the board.  The bitstream was generated and the .hdf file was exported to Vivado, where I used the template Application Projects to create a FSBL for a MPSoC UltraScale device.  A project was created using the 'Hello World' example project.  A .bin file was created using the Create Boot Image tool in SDK.  The .bif specified the FSBL.elf file, followed by the firmware's .bit file, and ended with the Hello World's .elf file.  The .bin file was selected in the Program Flash tool to begin programming the Flash device.

If I use the default Auto-Connect option for the Device selection, on the Program Flash GUI, I receive an error.

****** Xilinx Program Flash
****** Program Flash v2017.4 (64-bit)
  **** SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

Connecting to hw_server @ TCP:127.0.0.1:3121

Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn1
Target 1 : jsn2
Target 2 : jsn-DLC9LP-0000116f9c8701

ERROR: Unable to detect JTAG cable

If I manually select the device to the local connection to the board, I receive a different error.

****** Xilinx Program Flash
****** Program Flash v2017.4 (64-bit)
  **** SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

Connecting to hw_server @ TCP:127.0.0.1:3121

Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn1
Target 1 : jsn2
Target 2 : jsn-DLC9LP-0000116f9c8701
	Device 0: jsn-DLC9LP-0000116f9c8701-14711093-0

Retrieving Flash info...

Initialization done, programming the memory
Problem in Connecting to Target
Flash programming initialization failed.

ERROR: Flash Operation Failed

I'm not sure what the next steps from here are, I have looked through quite a few AR's and have not had any promising leads.  Any help is appreciated, thank you.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
940 Views
Registered: ‎10-11-2011

Here the reccomandation on that Flash Programming error:

https://www.xilinx.com/support/answers/73223.html

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
9 Replies
Highlighted
Xilinx Employee
Xilinx Employee
1,165 Views
Registered: ‎10-11-2011

It appeard an issue wiht connecting to the cable rather than Flash programming itself.

Maybe you can try to connect XSDB or Vivado HW Manager to see if that's working.

The "DebugTools" forum might be able to help you better on this issue.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Contributor
Contributor
1,154 Views
Registered: ‎08-17-2018

Any suggestions on what sort of commands I should be using with XSCT?  When I run the command "targets" this is what I see.

 

targets
  1  PS TAP
     2  PMU
     3  PL
  4  PSU
     5  RPU (Reset)
        6  Cortex-R5 #0 (RPU Reset)
        7  Cortex-R5 #1 (RPU Reset)
     8  APU (L2 Cache Reset)
        9  Cortex-A53 #0 (APU Reset)
       10  Cortex-A53 #1 (APU Reset)
xsct% 
0 Kudos
Highlighted
Contributor
Contributor
1,139 Views
Registered: ‎08-17-2018

As a sanity check, I was able to use the same cable to program a ZCU102 evaluation board.  There was a difference in the firmware and software used, but the template for the FSBL was still used.  Beginning to check the schematic of my board against the ZCU102 schematic to see if any details arise.  Are there any suggestions in the mean time?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
1,092 Views
Registered: ‎10-11-2011

The target list looks ok. Can you please report on these two XSCT commands:

jtag targets

jtag servers

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Contributor
Contributor
1,084 Views
Registered: ‎08-17-2018

Here is the XCST Console, starting from a new session with Xilinx SDK 2017.4

 

xsct% jtag targets
xsct% Invalid target. Use "connect" command to connect to hw_server/TCF agent

connect
tcfchan#1
xsct% jtag targets
  3  Platform Cable USB 0000116f9c8701
     4  xczu2 (idcode 14711093 irlen 12 fpga)
     5  arm_dap (idcode 5ba00477 irlen 4)
xsct% jtag servers
  digilent-ftdi cables 0
  xilinx-ftdi cables 0
  digilent-djtg cables 0
  xilinx-pcusb cables 1
xsct% 
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
1,062 Views
Registered: ‎10-11-2011

What concerms me is that you have multiple Targets (0, 1 and 2) listed when doing the flash programming.

I don't know how to explain it. Do you have other cables attached to the host machine? Did you try to reboot it?

This is how it should look like:

****** Xilinx Program Flash

****** Program Flash v2019.1 (64-bit)

**** SW Build 2552052 on Fri May 24 14:49:42 MDT 2019

** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.

 

 

WARNING: Failed to connect to hw_server at TCP:127.0.0.1:3121

Attempting to launch hw_server at TCP:127.0.0.1:3121

 

Connected to hw_server @ TCP:127.0.0.1:3121

Available targets and devices:

Target 0 : jsn-JTAG-SMT2NC-210308A1CBE5

Device 0: jsn-JTAG-SMT2NC-210308A1CBE5-14738093-0

 

Retrieving Flash info...

 

Initialization done, programming the memory

===== mrd->addr=0xFF5E0204, data=0x00000000 =====

BOOT_MODE REG = 0x0000

Downloading FSBL...

Running FSBL...

Finished running FSBL.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
1,056 Views
Registered: ‎10-11-2011

Is the host a  Windows 10 machine?

I found an internal reference to a problem with some Windows 10 machines.

Can you upgrade SDK to 2018.x or 2019.1?

... or ... there's should eb no issue with Vivado HW Manager Flash Programming.

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Contributor
Contributor
1,045 Views
Registered: ‎08-17-2018

Could you specific what you're referencing when you asked about rebooting?  The board, SDK, the computer?  I haven't tried to disconnect other devices, but when I look at the Device Manager on my computer I only see the one programming cable. 

 

The machine is running Windows 10, I will try and move to a different version of SDK and see what comes of it.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
941 Views
Registered: ‎10-11-2011

Here the reccomandation on that Flash Programming error:

https://www.xilinx.com/support/answers/73223.html

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos