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. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.