I mentioned this in a recent thread on the OS Dev forum, but I felt this was a general enough question to ask, and felt it might not fit exactly on that forum. I am going to go look on this myself, but I am asking less for general information, and more personal experiences with it - hence why I put this in General Ramblings.
I have heard of using ICEs (yes, I know most of them aren't emulators, but the term is a historical one) for debugging software as well as hardware, including certain JTAG adapter modules. It is my understanding that this is a fairly common practice for both professional embedded systems development and maker-grade development projects. However, I have no experience with such, and I am wondering what the different options for this were.
I know that some JTAG modules are fairly simple, often with two or three part 7S display. Others I have seen connect to a small TFT display, and IIUC, the most expensive models have micro-USB connectors to connect them to a PC workstation, either for SSH or connecting to a (usually proprietary) IDE/Debugging application. Does anyone here know much about this?
I am specifically wondering if the Arduino IDE is connected via JTAG, or if they use a proprietary (or at least Arduino-specific) adapter system. I do mean to look that up myself, though, but if anyone can comment on it, please do.
EDIT: After some quick searches, I did find these, which I will post for anyone who (like myself) isn't really familiar with these topics.
Apparently,
Arduinos don't use a JTAG itself for connectin g to the PC, but instead
a USB connector on the Arduino device. Duh, I should have guessed that, I suppose.
There seems to be a fair bit about
using various Arduinos as JTAG adapters, though, including
this article on connecting a non-Arduino board through an Arduino to the Arduino IDE, and this one about
a library of JTAG debugging scripts.
This also discusses the topic.