I do not have a problem with JTAG, and I have a large collection of JTAG and similar debug probes.
But I rarely use them.
My work is inconsistent. I move from BBB’s to Opi’s to Freescale K70’s to STM32’s to PIC32’s to PPC405’s to RISC-V’s to TI CC1310’s …
It is difficult to become expert with a specific tool when that tool is unique to the current project and you have not worked with that tool for a couple of years and when the current project is over you may not again for a long time.
I brought up the JTAG to add a bit more evidence to what I was close to certain of already - the Processor was not running.
The JTAG confirmed that - at the same time I was/am not entirely convinced that the JTAG was hooked up properly, the software accurately reported results.
One thing I have learned in decades of this work is to be very careful about assumptions. It is OK and often the best evidence you can get to say - the JTAG says the CPU is halted and will not start and that result is more than 50% likely to be correct. It is altogether different to say with certainty something that the evidence only supports probabilistic.
I would like to say I have never been certain and also been wrong. But that would not be true.
I am happy to say that many times I have resisted being certain about something that was merely likely and avoided going down a wrong path by waiting for more evidence or looking more carefully.
As noted I have been doing this for a long time. More than a decade ago I write JTAG software for a PCMCIA device that had its own Custom JTAG internal to the device - that is starting to become common today. I have done bare metal linux board bring up on devices that were so radically different form the development systems as to make the existing support near useless.
Today it is increasingly rare that the product is not so damn near identical to the development system that you put an SD card in and the first boards just boot right up. I do more of what I would call Linux embedded systems administration than actual systems software.
BTW after stripping half the components from the board, I am told the board finally booted. I will be receiving a purportedly working board tomorow.
I am not going to trash another engineer by name, but I have not seen a new board with this many errors in years. Though I think all of them were assembly errors.
Anyway I have JTAG’s and USB TTL Serial cables, and I typically use them for about 5 minutes on a new project. Once the board boots, I ssh into it and work that way. Further most of the time I write and test software on an x86 linux desktop and build and run it on the target only toward the end.