Clarification on debugging the Arduino 101 with jtag

Hope this is the right place to post this. I'm new to the forum, and to Arduino.

I've read the wiki on using the jtag connector to flash the Arduino 101, but the same wiki seems to suggest that debugging can only be done via a software debugger that is enabled through the serial console.

Can anyone tell me whether the jtag connector can be used for debugging as well as for flashing?

If jtag debugging is supported, what jtag debuggers will work for debugging the C1000 core?

The Zephyr wiki recommends the FlySwatter2 for flashing, but I'm assuming that it will not work for debugging. Can anyone confirm or deny any or all of my assumptions?

Hi @arickey, yes a FlySwatter2 will work just fine for both debugging and flashing (I've got one myself).

If you haven't already found it, you should also check out Curie ODK It allows you to debug both Arduino sketches & Zephyr applications.

Thanks for the reply.

I guess I'm still confused about the JTAG debuggers. As nearly as I can tell, the FlySwatter2 is sold as an ARM JTAG debugger.

I'm out of the BIOS world, and we use either Intel ITP, or Arium for JTAG debugging. Is the software really where the processor support is, or are there differences in the debuggers themselves?

I have a jlink Edu, which, like the FlySwatter2 is supposed to be an ARM debugger. If I use an OpenOCD module for Quark, should I expect the jlink to work for debugging the Arduino 101?

As far as I know, as long as the processor has JTAG, then yes, supporting a particular processor is really just a matter of having the right config files (one for the flyswatter, one for the target CPU) for OpenOCD.

I don’t really know how closely different manufacturers align to the JTAG standard, I’m sure some work better than others. But I do know that both Jlink and Flyswatter debuggers will work, as long as you get the right config files.

If you use CODK, then everything is set up for you (Jlink support was just added recently, Flyswatter will work too). Just install it and type a couple of commands to get source-level debugging.

I really only use CODK myself for debugging Curie-based things, so if you’re debugging in another way then I probably can’t help you very much!

Are you using pure Zephyr on the Arduino101 (so, working only from Zephyr docs)? or are you using Zephyr from within CODK already?

Thanks very much for the information.

I'm really just playing at this point. I'm planning to make a computerized telescope equatorial mount as a learning project, and after looking at a couple of different boards, I had decided to go with the 101 because of the availability of a supported and well documented RTOS. So my debugging will be mostly on the Quark. It's good to know that the jlink will work.