Help with JTAG stuff to unbrick my Pluto sought please?
Forum rules
This forum is run by the BATC (British Amateur Television Club), it is service made freely available to all interested parties, please do not abuse this privilege.
Thank you
This forum is run by the BATC (British Amateur Television Club), it is service made freely available to all interested parties, please do not abuse this privilege.
Thank you
Help with JTAG stuff to unbrick my Pluto sought please?
I have managed to brick my Pluto, dfu-util does not see it, and it's now in a state where just one LED is lit, and it's very dim.
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 board 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.
https://wiki.analog.com/university/tool ... /devs/fpga
This stuff sees my Pluto and will communicate with it but I am now stuck at where I am below, is anyone familiar with Xinq programming here, that might be kind enough to assist please?
I have come back to this after getting a headache and getting nowhere in the week
I seem close, but no cigars... I *THINK* it's trying to programme the wrong device or in the wrong order, but what do I know?
I am finding on Google others have issues with forcing a target, but maybe I am way off course. Below I copy past 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
::tcfchan#0
xsdb% targets
1 xc7z010
2 APU
3 ARM Cortex-A9 MPCore #0 (Stopped: Suspended)
4 ARM Cortex-A9 MPCore #1 (Running)
xsdb% target 1
xsdb% targets
1* xc7z010
2 APU
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
-------------------------------------
Version.............................0x00000003
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.
xsdb%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
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 board 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.
https://wiki.analog.com/university/tool ... /devs/fpga
This stuff sees my Pluto and will communicate with it but I am now stuck at where I am below, is anyone familiar with Xinq programming here, that might be kind enough to assist please?
I have come back to this after getting a headache and getting nowhere in the week
I seem close, but no cigars... I *THINK* it's trying to programme the wrong device or in the wrong order, but what do I know?
I am finding on Google others have issues with forcing a target, but maybe I am way off course. Below I copy past 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
::tcfchan#0
xsdb% targets
1 xc7z010
2 APU
3 ARM Cortex-A9 MPCore #0 (Stopped: Suspended)
4 ARM Cortex-A9 MPCore #1 (Running)
xsdb% target 1
xsdb% targets
1* xc7z010
2 APU
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
-------------------------------------
Version.............................0x00000003
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.
xsdb%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Thanks Noel, but as it won't enter dfu mode (a mode I have used several times before) AD says the only fix is accessing it via the JTAG connector. It's beyond being able to be set in "normal" dfu mode. dfu-util doesn't even see it as there. AD are confident if I access it by JTAG it has a good chance of being fixable.
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Just a thought, have you changed the usb lead? It may be low volts or something. Have you just got the small aerials connected so no earth loops etc. are present.
Try another usb socket or computer.
I get various problems with plutos and DFU has always worked for me too.
Martin G8LCE
Try another usb socket or computer.
I get various problems with plutos and DFU has always worked for me too.
Martin G8LCE
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Thanks Martin, but sadly it's not the lead nor the PC, I have tried three leads and on two PC's, it definitely needs JTAG access, but the Xilinx software is buggy as hell, has constant changes so a new version breaks things, or doesn't have the right JTAG console, blah blah, and the generic instructions assume you are already a Linux expert familiar with all the perverse acronyms
There are some kind AD people on the AD forums, including AD eployees, I am homing after this weekend one might have a look at this post, (which I have also crossed to their forum). There are millions of these Zynq-7000 chips in use, I presume there must be a lot of expert programmers for them, too. I just need an English speaking one to take pity! At £200+ a pop for a new one currently I'm not at all averse to paying someone...
Ideally I'd like someone confident to remote to my PC and do it whilst I record HOW it's supposed to be done. The AD guy privately said there'll have been hundreds of Plutos scrapped that JTAG could have put back as new. So probably it's not in AD's interest to be TOO helpful with idiot proof instructions <LOL>
I too have always found DFU got me up and running, but with all modesty I am a real expert at putting this sort of thing into a FUBAR state
There are some kind AD people on the AD forums, including AD eployees, I am homing after this weekend one might have a look at this post, (which I have also crossed to their forum). There are millions of these Zynq-7000 chips in use, I presume there must be a lot of expert programmers for them, too. I just need an English speaking one to take pity! At £200+ a pop for a new one currently I'm not at all averse to paying someone...
Ideally I'd like someone confident to remote to my PC and do it whilst I record HOW it's supposed to be done. The AD guy privately said there'll have been hundreds of Plutos scrapped that JTAG could have put back as new. So probably it's not in AD's interest to be TOO helpful with idiot proof instructions <LOL>
I too have always found DFU got me up and running, but with all modesty I am a real expert at putting this sort of thing into a FUBAR state
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Some years ago I had to reprogram a device (not a Pluto) via the Jtag port, I just got a cheap programmer of eBay and it worked fine. Found this site as well if its of any help ?
https://wiki.analog.com/university/tool ... /devs/fpga
Good luck 73 John
https://wiki.analog.com/university/tool ... /devs/fpga
Good luck 73 John
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Thanks John, those are the instructions I have indeed been trying to follow, with some, but not complete, success
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Now sorted thanks, what a nightmare, but learnt a lot in the process... Not for the feint hearted Normal dfu mode reset is trivial compared to JTAG access.
http://www.chriswilson.tv/sdk-ok.jpg
I am mad busy with work right now, but once things calm down I will try and document the procedure. If anyone is desperate to JTAG into their Pluto my e-mail is on QRZ, fire one over and I'll give you my phone number and I'll try and talk you through it. you need the two devices in the link in my first post though. I might be persuaded to have a go at yours if you send it me, but I need to get the 10 way pins that should have been with the AD board, but were not. I soldered 1/8 W resistor lead wires in as pins, and it was a delicate job that I'd rather not have to do on someone else's Pluto
http://www.chriswilson.tv/sdk-ok.jpg
I am mad busy with work right now, but once things calm down I will try and document the procedure. If anyone is desperate to JTAG into their Pluto my e-mail is on QRZ, fire one over and I'll give you my phone number and I'll try and talk you through it. you need the two devices in the link in my first post though. I might be persuaded to have a go at yours if you send it me, but I need to get the 10 way pins that should have been with the AD board, but were not. I soldered 1/8 W resistor lead wires in as pins, and it was a delicate job that I'd rather not have to do on someone else's Pluto
Last edited by Basil on Sat Jul 23, 2022 6:38 am, edited 1 time in total.
Re: Help with JTAG stuff to unbrick my Pluto sought please?
Hi,
I have lost connection to my Pluto it will not go into dfu mode.
Can anyone recommend a JTAG interface that will work to reprogram my Pluto and hopefully bring it back to life.
Not looking forward to connecting to Pluto over JTAG but will give it a try.
Any help appreciated!
73's
Martin
G8KOE
I have lost connection to my Pluto it will not go into dfu mode.
Can anyone recommend a JTAG interface that will work to reprogram my Pluto and hopefully bring it back to life.
Not looking forward to connecting to Pluto over JTAG but will give it a try.
Any help appreciated!
73's
Martin
G8KOE
Re: Help with JTAG stuff to unbrick my Pluto sought please?
https://www.ebay.co.uk/itm/334329709599
and you also need
https://www.digikey.co.uk/en/products/d ... AG/6816908
Edited, I put the wrong second link originally, which duplicated the device in the first link. Now corrected.
The adalm-uartjtag should come with the Pluto PCB header pins, mine did not, RS Components had them in stock last time I checked, if you need the part number I can check my account for you.
This is the Xilinx programming software version I know works, you may need to create an account (free) on the Xilinx site to download, I recall they put you through many hoops...
Xilinx SDK v2014.1 Design Suite with SDK for Windows OS
https://www.xilinx.com/support/download ... chive.html
A big (5 gig ++) download.
Once downloaded you need to licence it, which is again convoluted but free.
Finally you need to download a repair patch as the legacy version needed, at least the one I KNOW works, has a bug in it....
For convenience I put it here:
http://www.chriswilson.tv/xmdterm.tcl
Find the original in the xilinx ~/scripts folder, delete or rename it and put the fixed version in its place.
One of the gotchas in all this is that Analog Devices has a recently updated help page for using JTAG with a Pluto at:
https://wiki.analog.com/university/tool ... /devs/fpga
This has the first two Xilinx screenshots showing a latish version of the Xilinx software, which does NOT have the xmd command interface required as shown later in the Analog Devices instructions. So you won't get the GUI, or at least I couldn't get it, with the 2014.1 version that has the xmd command interface.
But once you have seen that a connection has been established, you only need the xmd command page. Analog Devices said that there's an equivalent interface to xmd in the later software, that will work but needs quite different commands, but never told me what they are... So best stick with the old version that still has xmd available, and for which AD cite the required commands.
That is unless you are very familiar with Vivado, in which case you probably aren't reading all this!
I keep editing and updating this as I think of things I've missed, I am very busy with work and it's hard to find the time to create a worthwhile instruction set in one go. So my apologies if it's a bit messy.
and you also need
https://www.digikey.co.uk/en/products/d ... AG/6816908
Edited, I put the wrong second link originally, which duplicated the device in the first link. Now corrected.
The adalm-uartjtag should come with the Pluto PCB header pins, mine did not, RS Components had them in stock last time I checked, if you need the part number I can check my account for you.
This is the Xilinx programming software version I know works, you may need to create an account (free) on the Xilinx site to download, I recall they put you through many hoops...
Xilinx SDK v2014.1 Design Suite with SDK for Windows OS
https://www.xilinx.com/support/download ... chive.html
A big (5 gig ++) download.
Once downloaded you need to licence it, which is again convoluted but free.
Finally you need to download a repair patch as the legacy version needed, at least the one I KNOW works, has a bug in it....
For convenience I put it here:
http://www.chriswilson.tv/xmdterm.tcl
Find the original in the xilinx ~/scripts folder, delete or rename it and put the fixed version in its place.
One of the gotchas in all this is that Analog Devices has a recently updated help page for using JTAG with a Pluto at:
https://wiki.analog.com/university/tool ... /devs/fpga
This has the first two Xilinx screenshots showing a latish version of the Xilinx software, which does NOT have the xmd command interface required as shown later in the Analog Devices instructions. So you won't get the GUI, or at least I couldn't get it, with the 2014.1 version that has the xmd command interface.
But once you have seen that a connection has been established, you only need the xmd command page. Analog Devices said that there's an equivalent interface to xmd in the later software, that will work but needs quite different commands, but never told me what they are... So best stick with the old version that still has xmd available, and for which AD cite the required commands.
That is unless you are very familiar with Vivado, in which case you probably aren't reading all this!
I keep editing and updating this as I think of things I've missed, I am very busy with work and it's hard to find the time to create a worthwhile instruction set in one go. So my apologies if it's a bit messy.
Last edited by Basil on Sat Jul 23, 2022 9:52 am, edited 2 times in total.