- fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin)

- fix infinite recursion in target_init_handler (thanks to jw and Magnus Lundin)
- fix CFI flash handlign with buswidth < 32bit (thanks to Daniele Orio for reporting this)
- add support for reading JTAG device id (currently only as debug output on startup)
- cleaned up handling of EmbeddedICE registers. Supported functionality and register size now determined by EmbeddedICE version number.
- small cleanups/fixes


git-svn-id: svn://svn.berlios.de/openocd/trunk@124 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
drath
2007-01-22 14:47:00 +00:00
parent adaed4c1c7
commit 4fc97d3f27
17 changed files with 252 additions and 119 deletions

View File

@@ -91,9 +91,6 @@ int arm966e_assert_reset(target_t *target)
arm966e_common_t *arm966e = arm9tdmi->arch_info;
reg_t *dbg_ctrl = &arm7_9->eice_cache->reg_list[EICE_DBG_CTRL];
int retval;
int trst_asserted_with_srt = 0;
arm966e->monitor_mode_set = 1;
DEBUG("target->state: %s", target_state_strings[target->state]);
@@ -121,7 +118,6 @@ int arm966e_assert_reset(target_t *target)
{
WARNING("srst resets test logic, too");
retval = jtag_add_reset(1, 1);
trst_asserted_with_srt = 1;
}
}
}
@@ -133,7 +129,6 @@ int arm966e_assert_reset(target_t *target)
{
WARNING("srst resets test logic, too");
retval = jtag_add_reset(1, 1);
trst_asserted_with_srt = 1;
}
if (retval == ERROR_JTAG_RESET_CANT_SRST)
@@ -153,23 +148,6 @@ int arm966e_assert_reset(target_t *target)
jtag_add_sleep(50000);
armv4_5_invalidate_core_regs(target);
if( trst_asserted_with_srt == 0 )
{
DEBUG("monitor mode needs clearing");
/* arm9e monitor mode enabled at reset */
embeddedice_read_reg(dbg_ctrl);
jtag_execute_queue();
if(buf_get_u32(dbg_ctrl->value, EICE_DBG_CONTROL_MONEN, 1))
{
buf_set_u32(dbg_ctrl->value, EICE_DBG_CONTROL_MONEN, 1, 0);
embeddedice_store_reg(dbg_ctrl);
DEBUG("monitor mode disabled");
}
arm966e->monitor_mode_set = 0;
}
return ERROR_OK;
}
@@ -184,23 +162,6 @@ int arm966e_deassert_reset(target_t *target)
arm7_9_deassert_reset( target );
if( arm966e->monitor_mode_set == 1 )
{
DEBUG("monitor mode needs clearing");
/* arm9e monitor mode enabled at reset */
embeddedice_read_reg(dbg_ctrl);
jtag_execute_queue();
if(buf_get_u32(dbg_ctrl->value, EICE_DBG_CONTROL_MONEN, 1))
{
buf_set_u32(dbg_ctrl->value, EICE_DBG_CONTROL_MONEN, 1, 0);
embeddedice_store_reg(dbg_ctrl);
arm966e->monitor_mode_set = 0;
DEBUG("monitor mode disabled");
}
}
return ERROR_OK;
}
@@ -226,9 +187,6 @@ int arm966e_init_arch_info(target_t *target, arm966e_common_t *arm966e, int chai
arm9tdmi->arch_info = arm966e;
arm966e->common_magic = ARM966E_COMMON_MAGIC;
arm9tdmi->has_single_step = 0;
arm9tdmi->has_monitor_mode = 1;
return ERROR_OK;
}