char* jtag_event_strings[] =
{
- "JTAG controller reset(tms or TRST)"
+ "JTAG controller reset (TLR or TRST)"
};
/* kludge!!!! these are just global variables that the
/* FIX!!! there are *many* different cases here. A better
* approach is needed for legal combinations of transitions...
- */
+ */
if ((jtag_reset_config & RESET_HAS_SRST)&&
(jtag_reset_config & RESET_HAS_TRST)&&
((jtag_reset_config & RESET_SRST_PULLS_TRST)==0))
((req_srst&&!jtag_srst)||
(!req_srst&&jtag_srst)))
{
- // FIX!!! srst_pulls_trst allows 1,1 => 0,0 transition....
+ /* 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");
}
}
if (trst_with_tlr)
{
- LOG_DEBUG("JTAG reset with tms instead of TRST");
+ LOG_DEBUG("JTAG reset with TLR instead of TRST");
jtag_add_end_state(TAP_TLR);
jtag_add_tlr();
jtag_call_event_callbacks(JTAG_TRST_ASSERTED);
field->in_handler = jtag_check_value;
else
field->in_handler = NULL; /* No check, e.g. embeddedice uses value==NULL to indicate no check */
- field->in_handler_priv = NULL; /* this will be filled in at the invocation site to point to the field duplicate */
+ field->in_handler_priv = NULL;
field->in_check_value = value;
field->in_check_mask = mask;
}
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 ((retval=jtag_interface_init(cmd_ctx)) != ERROR_OK)
return retval;
- LOG_DEBUG("Trying to bring the JTAG controller to life by asserting TRST / tms");
+ LOG_DEBUG("Trying to bring the JTAG controller to life by asserting TRST / TLR");
/* Reset can happen after a power cycle.
*
- * Ideally we would only assert TRST or run tms before the target reset.
+ * Ideally we would only assert TRST or run TLR before the target reset.
*
* However w/srst_pulls_trst, trst is asserted together with the target
* reset whether we want it or not.
* NB! order matters!!!! srst *can* disconnect JTAG circuitry
*
*/
- jtag_add_reset(1, 0); /* TMS or TRST */
+ jtag_add_reset(1, 0); /* TLR or TRST */
if (jtag_reset_config & RESET_HAS_SRST)
{
jtag_add_reset(1, 1);