print out an error if srst_pulls_trst is not specified for
e.g. at91fr40008. Could possibly show bogus false positives in log without any other side effects. git-svn-id: svn://svn.berlios.de/openocd/trunk@666 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
b723e78d70
commit
a76c3433e1
|
@ -225,6 +225,16 @@ int target_init_handler(struct target_s *target, enum target_event event, void *
|
||||||
|
|
||||||
if ((event == TARGET_EVENT_HALTED) && (target->reset_script))
|
if ((event == TARGET_EVENT_HALTED) && (target->reset_script))
|
||||||
{
|
{
|
||||||
|
if ((jtag_reset_config & RESET_SRST_PULLS_TRST)==0)
|
||||||
|
{
|
||||||
|
reg_t *reg = register_get_by_name(target->reg_cache, "pc", 1);
|
||||||
|
u32 t=*((u32 *)reg->value);
|
||||||
|
if (t!=0)
|
||||||
|
{
|
||||||
|
LOG_ERROR("PC was not 0. Does this target does target need srst_pulls_trst?");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
target_unregister_event_callback(target_init_handler, priv);
|
target_unregister_event_callback(target_init_handler, priv);
|
||||||
|
|
||||||
script = open_file_from_path(target->reset_script, "r");
|
script = open_file_from_path(target->reset_script, "r");
|
||||||
|
@ -394,18 +404,19 @@ int target_process_reset(struct command_context_s *cmd_ctx)
|
||||||
target = target->next;
|
target = target->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jtag_reset_config & RESET_SRST_PULLS_TRST)
|
|
||||||
{
|
|
||||||
/* If TRST was asserted we need to set up registers again */
|
|
||||||
if ((retval = target_examine(cmd_ctx)) != ERROR_OK)
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((retval = jtag_execute_queue()) != ERROR_OK)
|
if ((retval = jtag_execute_queue()) != ERROR_OK)
|
||||||
{
|
{
|
||||||
LOG_WARNING("JTAG communication failed while deasserting reset.");
|
LOG_WARNING("JTAG communication failed while deasserting reset.");
|
||||||
retval = ERROR_OK;
|
retval = ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (jtag_reset_config & RESET_SRST_PULLS_TRST)
|
||||||
|
{
|
||||||
|
/* If TRST was asserted we need to set up registers again */
|
||||||
|
if ((retval = target_examine(cmd_ctx)) != ERROR_OK)
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
LOG_DEBUG("Waiting for halted stated as approperiate");
|
LOG_DEBUG("Waiting for halted stated as approperiate");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue