JTAG is the standard method for first-time programming of on-board devices, such as Flash and other bootable memories. JTAG also provides a valuable capability for debugging software through a dedicated processor connection. These capabilities are marginally effective for hardware test and debug. This paper describes how you can build upon the basic JTAG functions using a software technology for in-system configuration and control of processor-driven verification, debugging, and programming. This software solution enables you to extend the value of JTAG as a debugging and programming tool and have additional capabilities as a driver development tool.