Is anyone familiar with Xilinx Vivado software to JTAG a PlutoSDR??

Chris Wilson

13 June 2022

I have a totally bricked Pluto SDR that dfu-util fails to see. I am looking for someone familiar with this obtuse software from Xilinx to resurrect it via JTAG. I have the adepter board from Analog Devices and the Digilent board and cable.

If anyone wants the full version please see below, it seems few people have used the JTAG access and documented it well. Here's hoping someone here knows what I have done wrong...

I have bricked my Pluto and Analog Devices seem sure that by using JTAG it can be resurrected. However, using all the free time I can possibly spare I have hit a brick(ed) wall. I am in desperate need of someone who understands this sort of thing and Google searching brings up your good self as obviously extraordinarily knowledgeable on the under bonnet workings of the Pluto.

If you have time and inclination to read the below, this is where I find myself:

Analog Devices dfu-util does not see it, and it's now in a state where just one LED is lit, and it's very dim.

An Analog Devices tech help forum suggestion (by an AD engineer) was that the only fix was using JTAG and I would need both the interface box from AD and a cable and dongle from Digilent (sp?).

I purchased those and followed the instructions here after going through hoops to find and download a legacy version of Xilnx programming software that still supported the XMD Console.

This stuff sees my Pluto and will communicate with it but I am now stuck at where I am below.

I have come back to this after getting a headache and getting nowhere in the last week ;)

I am finding on Google others have issues with forcing a target, but maybe I am way off course. Below I copy paste the results of trying to run the run.tcl file AD supply in a zip with other files. I set the Xilinx workspace to C:/workspace and unzipped the supplied files in there, and before trying to run the run.tcl I ensured I was in the workspace directory. Does this give a clues as to what's gone wrong please? Even when the none running core is running the same happens. To get it running I have to power down the PlutoSDR and power it up again.


****** Xilinx System Debugger (XSDB) v2014.1
**** Build date : Apr 4 2014-14:07:09
** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved.

Got $XILINX_SDK: C:/XilinxSDK/SDK/2014.1

xsdb% connect -host localhost -port 3121 tcfchan#0
xsdb% targets
1 xc7z010
3 ARM Cortex-A9 MPCore #0 (Stopped: Suspended)
4 ARM Cortex-A9 MPCore #1 (Running)
xsdb% target 1
xsdb% targets
1* xc7z010
3 ARM Cortex-A9 MPCore #0 (Stopped: Suspended)
4 ARM Cortex-A9 MPCore #1 (Running)
xsdb% cd C:/workspace
xsdb% dir
Volume in drive C has no label.
Volume Serial Number is D080-C2AD

Directory of C:\workspace

11/06/2022 09:50 <DIR> .
11/06/2022 09:50 <DIR> ..
10/06/2022 10:31 <DIR> .metadata
20/08/2021 13:12 31,486 ps7_init.tcl
10/06/2022 12:28 <DIR> RemoteSystemsTempFiles
03/03/2017 08:56 257 run.tcl
11/06/2022 10:11 567 SDK.log
20/08/2021 13:12 964,144 system_top.bit
20/08/2021 13:13 448,084 u-boot.elf
5 File(s) 1,444,538 bytes
4 Dir(s) 422,109,966,336 bytes free
xsdb% xmd source -tcl run.tcl

****** Xilinx Microprocessor Debugger (XMD) EngineExecuting user script : run.tcl

JTAG chain configuration
Device ID Code IR Length Part Name
1 4ba00477 4 arm_dap
2 13722093 6 xc7z010

Enabling extended memory access checks for Zynq.
Writes to reserved memory are not permitted and reads return 0.
To disable this feature, run "debugconfig -memory_access_check disable".


CortexA9 Processor Configuration
User ID.............................0x00000000
No of PC Breakpoints................6
No of Addr/Data Watchpoints.........4

Connected to "arm" target. id = 64
Starting GDB server for "arm" target (id = 64) at TCP port no 1234
Processor stopped

Error Executing User Script : run.tcl
Error :: ERROR: No Elf file associated with target

****** XMD v2014.1 (64-bit)
**** SW Build 881834 on Fri Apr 4 14:06:19 MDT 2014
** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved.



I link to the bootstrap zip file from AD that I am using, I suspect, but what do I know, that I need to somehow associate the u-boot.elf file with the Pluto, but at this point I'm stuck. Any help would be most appreciated. OS is Windows 10 64 bit Pro and I have tried using Xilinx SDK 2014.1 and Vivado Lab 2017.3

Current versions of Xilinx fail to load at all on this PC, the installer fails to complete, but AD tell me I need a legacy version anyway, that supports XMD as that is what they based the run.tcl format on.

The JTAG bootstrap files are here :

Thanks for any insight!


Best regards,
Chris mailto:chris@...

Join { to automatically receive all group messages.