From 82dc399e5e73495c0464283cff331854271706be Mon Sep 17 00:00:00 2001 From: Tomas Vanek Date: Sat, 14 Jun 2025 12:18:53 +0200 Subject: [PATCH] target/cortex_m: fix debug reason after reset halt [1] removed target_halt() from cortex_m_assert_reset() It broke debug_reason tracking and the previous reason was shown after reset halt. Set debug_reason to DBG_REASON_DBGRQ during reset halt preparation. Fixes: [1] commit 226085065bdf ("target/cortex_m: drop useless target_halt() call") Reported-by: Marc Schink Change-Id: I685618ed158abde11f6e00eeeee1dfa8ed90952d Signed-off-by: Tomas Vanek Reviewed-on: https://review.openocd.org/c/openocd/+/8945 Tested-by: jenkins Reviewed-by: zapb --- src/target/cortex_m.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index ba9d83d79..8eaf70f60 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -1779,6 +1779,7 @@ static int cortex_m_assert_reset(struct target *target) int retval2; retval2 = mem_ap_write_atomic_u32(armv7m->debug_ap, DCB_DEMCR, TRCENA | VC_HARDERR | VC_BUSERR | VC_CORERESET); + target->debug_reason = DBG_REASON_DBGRQ; if (retval != ERROR_OK || retval2 != ERROR_OK) LOG_TARGET_INFO(target, "AP write error, reset will not halt"); }