JTAG is old, slow, and intrusive. It isn't the only way to debug embedded processors. Nexus 5001 (http://www.nexus5001.org/) defines several levels of debug support, including JTAG. For one implementation, see http://www.ip-extreme.com/IP/nexus_5001.shtml.
Right now I am experimenting with the Nexus debug in the openmsp430 core -- in this implementation the Debugger connects to GDB via Serial/I2C -- I am at the point where I am building a little debug stick from an ICEStick from Lattice to support this effort -- The openmsp430 is presently in a Spartan 6 LX-16 --
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.