From f1bb93e290aebcaf566eff32f68f0d22ac1cbeb0 Mon Sep 17 00:00:00 2001 From: Gerardo Rodriguez Date: Mon, 5 Oct 2020 20:24:42 -0500 Subject: [PATCH] Request debugger power down after target is set to RUN state. --- source/daplink/interface/swd_host.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/daplink/interface/swd_host.c b/source/daplink/interface/swd_host.c index ff0b7170c..1e51ee319 100644 --- a/source/daplink/interface/swd_host.c +++ b/source/daplink/interface/swd_host.c @@ -1051,6 +1051,19 @@ uint8_t swd_set_target_state_sw(target_state_t state) osDelay(2); swd_set_target_reset(0); osDelay(2); + + // Power down + if (!swd_write_dp(DP_CTRL_STAT, 0x0)) { + return 0; + } + + // Wait until ACK is deasserted + do { + if (!swd_read_dp(DP_CTRL_STAT, &val)) { + return 0; + } + } while ((val & (CSYSPWRUPACK | CDBGPWRUPACK)) == 1); + swd_off(); break;