This is an automated email from Gerrit. Spencer Oliver ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/947
-- gerrit commit da0aa93a91ba250bafb696b16391047dc5c8ca1d Author: Spencer Oliver <[email protected]> Date: Wed Oct 31 14:21:43 2012 +0000 cortex: autostep correctly handle user breakpoint If we halt due to a breakpoint make sure that we do not remove it during a step, only remove breakpoints we have created. Change-Id: I060168e54e53637d4fbf3cbcf62072efdb353807 Signed-off-by: Spencer Oliver <[email protected]> diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index 81d6ccf..c8e7bc4 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -855,7 +855,10 @@ static int cortex_m3_step(struct target *target, int current, */ /* Set a temporary break point */ - retval = breakpoint_add(target, pc_value, 2, BKPT_TYPE_BY_ADDR(pc_value)); + if (breakpoint) + retval = cortex_m3_set_breakpoint(target, breakpoint); + else + retval = breakpoint_add(target, pc_value, 2, BKPT_TYPE_BY_ADDR(pc_value)); bool tmp_bp_set = (retval == ERROR_OK); /* No more breakpoints left, just do a step */ @@ -879,8 +882,11 @@ static int cortex_m3_step(struct target *target, int current, isr_timed_out = ((timeval_ms() - t_start) > 500); } while (!((cortex_m3->dcb_dhcsr & S_HALT) || isr_timed_out)); - /* Remove the temporary breakpoint */ - breakpoint_remove(target, pc_value); + /* only remove breakpoint if we created it */ + if (breakpoint) + cortex_m3_unset_breakpoint(target, breakpoint); + else + breakpoint_remove(target, pc_value); if (isr_timed_out) { LOG_DEBUG("Interrupt handlers didn't complete within time, " -- ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
