From 8d6092b73fa4c4ce18d0f1dffb6651a89309c6e2 Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Mon, 10 Sep 2018 22:24:49 +0200 Subject: [PATCH] cortexm_forced_halt: Only release SRST after "Halt on reset" command. This should make life easier if program remaps JTAG/SWD pins so that with program running, JTAG/SWD access is impossible. --- src/target/cortexm.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/target/cortexm.c b/src/target/cortexm.c index 5c7502f7..50141a0e 100644 --- a/src/target/cortexm.c +++ b/src/target/cortexm.c @@ -239,17 +239,10 @@ static void cortexm_priv_free(void *priv) static bool cortexm_forced_halt(target *t) { - uint32_t start_time = platform_time_ms(); + target_halt_request(t); platform_srst_set_val(false); - /* Wait until SRST is released.*/ - while (platform_time_ms() < start_time + 2000) { - if (!platform_srst_get_val()) - break; - } - if (platform_srst_get_val()) - return false; uint32_t dhcsr = 0; - start_time = platform_time_ms(); + uint32_t start_time = platform_time_ms(); /* Try hard to halt the target. STM32F7 in WFI needs multiple writes!*/ while (platform_time_ms() < start_time + cortexm_wait_timeout) {