((req_srst&&!jtag_srst)||
(!req_srst&&jtag_srst)))
{
- LOG_ERROR("BUG: transition of req_tlr_or_trst and req_srst in the same jtag_add_reset() call is undefined");
+ // FIX!!! srst_pulls_trst allows 1,1 => 0,0 transition....
+ //LOG_ERROR("BUG: transition of req_tlr_or_trst and req_srst in the same jtag_add_reset() call is undefined");
}
}
int MINIDRIVER(interface_jtag_execute_queue)(void)
{
int retval;
-
+
+ if (jtag==NULL)
+ {
+ LOG_ERROR("No JTAG interface configured yet. Issue 'init' command in startup scripts before communicating with targets.");
+ return ERROR_FAIL;
+ }
+
retval = jtag->execute_queue();
cmd_queue_free();
if (jtag_reset_config & RESET_HAS_SRST)
{
jtag_add_reset(1, 1);
- jtag_add_reset(0, 1);
+ if ((jtag_reset_config & RESET_SRST_PULLS_TRST)==0)
+ jtag_add_reset(0, 1);
}
jtag_add_reset(0, 0);
if ((retval = jtag_execute_queue()) != ERROR_OK)