Using JTAG adapters/breakouts for system software debugging?
Posted: Wed Oct 24, 2018 10:22 am
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.
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.