This is an automated email from Gerrit. Spencer Oliver (s...@spen-soft.co.uk) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/905
-- gerrit commit a3a361d69f1811b20644a7151bd51142e9354898 Author: Spencer Oliver <s...@spen-soft.co.uk> Date: Mon Oct 8 10:05:45 2012 +0100 stlink: fix vector catch not being cleared Seem after a reset the stlink is not clearing the vector catch (VC_CORERESET) in the Debug Control Register. This has the side effect if the user presses an external reset the core will halt, this patch fixes that. Change-Id: Ic3b2c3991b79cacbbd901c02b79613c2e204e71f Signed-off-by: Spencer Oliver <s...@spen-soft.co.uk> diff --git a/src/target/stm32_stlink.c b/src/target/stm32_stlink.c index aac1eec..e18932c 100644 --- a/src/target/stm32_stlink.c +++ b/src/target/stm32_stlink.c @@ -325,6 +325,7 @@ static int stm32_stlink_load_context(struct target *target) static int stlink_debug_entry(struct target *target) { + struct stlink_interface_s *stlink_if = target_to_stlink(target); struct armv7m_common *armv7m = target_to_armv7m(target); struct arm *arm = &armv7m->arm; struct reg *r; @@ -337,6 +338,9 @@ static int stlink_debug_entry(struct target *target) stm32_stlink_load_context(target); + /* make sure we clear the vector catch bit */ + stlink_if->layout->api->write_debug_reg(stlink_if->fd, DCB_DEMCR, 0); + r = armv7m->core_cache->reg_list + ARMV7M_xPSR; xPSR = buf_get_u32(r->value, 0, 32); @@ -427,7 +431,12 @@ static int stm32_stlink_assert_reset(struct target *target) } stlink_if->layout->api->write_debug_reg(stlink_if->fd, DCB_DHCSR, DBGKEY|C_DEBUGEN); - stlink_if->layout->api->write_debug_reg(stlink_if->fd, DCB_DEMCR, VC_CORERESET); + + /* only set vector catch id halt is requested */ + if (target->reset_halt) + stlink_if->layout->api->write_debug_reg(stlink_if->fd, DCB_DEMCR, VC_CORERESET); + else + stlink_if->layout->api->write_debug_reg(stlink_if->fd, DCB_DEMCR, 0); if (jtag_reset_config & RESET_HAS_SRST) { if (!srst_asserted) { -- ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel