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 ((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);
|
||||
|
||||
script = open_file_from_path(target->reset_script, "r");
|
||||
|
@ -394,6 +404,12 @@ int target_process_reset(struct command_context_s *cmd_ctx)
|
|||
target = target->next;
|
||||
}
|
||||
|
||||
if ((retval = jtag_execute_queue()) != ERROR_OK)
|
||||
{
|
||||
LOG_WARNING("JTAG communication failed while deasserting reset.");
|
||||
retval = ERROR_OK;
|
||||
}
|
||||
|
||||
if (jtag_reset_config & RESET_SRST_PULLS_TRST)
|
||||
{
|
||||
/* If TRST was asserted we need to set up registers again */
|
||||
|
@ -401,11 +417,6 @@ int target_process_reset(struct command_context_s *cmd_ctx)
|
|||
return retval;
|
||||
}
|
||||
|
||||
if ((retval = jtag_execute_queue()) != ERROR_OK)
|
||||
{
|
||||
LOG_WARNING("JTAG communication failed while deasserting reset.");
|
||||
retval = ERROR_OK;
|
||||
}
|
||||
|
||||
LOG_DEBUG("Waiting for halted stated as approperiate");
|
||||
|
||||
|
|
Loading…
Reference in New Issue