JTAG Debuggers JTAG: Joint Test Access Group (like JPEG) It was born as a pcb-testing tool You could read and write individual pins It is now mainly a sw debugging tool You can read and write internal bits as well You can access machine registers You can send commands and read results Clearly, you can still drive pins You can thus drive external hardware e.g.you can program your external flash/eeprom The easiest use case is running a host application The application talks the gdbserver protocol ... and drives jtag signals using an external tool OpenOCD works in this way