cortex_m: remove old target breakpoints/watchpoints
Sometimes the target may have breakpoint registers set from a previous debug session, we can either sync them or as we have chosen here clear them. Change-Id: I439a623ebbf010246a70e5596d04aa7d546da731 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1363 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>__archive__
parent
392fe70927
commit
67607fb64c
|
@ -1796,6 +1796,9 @@ fail1:
|
||||||
for (j = 0; j < 3; j++, reg++)
|
for (j = 0; j < 3; j++, reg++)
|
||||||
cortex_m3_dwt_addreg(target, cache->reg_list + reg,
|
cortex_m3_dwt_addreg(target, cache->reg_list + reg,
|
||||||
dwt_comp + 3 * i + j);
|
dwt_comp + 3 * i + j);
|
||||||
|
|
||||||
|
/* make sure we clear any watchpoints enabled on the target */
|
||||||
|
target_write_u32(target, comparator->dwt_comparator_address + 8, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
*register_get_last_cache_p(&target->reg_cache) = cache;
|
*register_get_last_cache_p(&target->reg_cache) = cache;
|
||||||
|
@ -1887,6 +1890,9 @@ int cortex_m3_examine(struct target *target)
|
||||||
cortex_m3->fp_comparator_list[i].type =
|
cortex_m3->fp_comparator_list[i].type =
|
||||||
(i < cortex_m3->fp_num_code) ? FPCR_CODE : FPCR_LITERAL;
|
(i < cortex_m3->fp_num_code) ? FPCR_CODE : FPCR_LITERAL;
|
||||||
cortex_m3->fp_comparator_list[i].fpcr_address = FP_COMP0 + 4 * i;
|
cortex_m3->fp_comparator_list[i].fpcr_address = FP_COMP0 + 4 * i;
|
||||||
|
|
||||||
|
/* make sure we clear any breakpoints enabled on the target */
|
||||||
|
target_write_u32(target, cortex_m3->fp_comparator_list[i].fpcr_address, 0);
|
||||||
}
|
}
|
||||||
LOG_DEBUG("FPB fpcr 0x%" PRIx32 ", numcode %i, numlit %i",
|
LOG_DEBUG("FPB fpcr 0x%" PRIx32 ", numcode %i, numlit %i",
|
||||||
fpcr,
|
fpcr,
|
||||||
|
|
Loading…
Reference in New Issue