This is an automated email from the ASF dual-hosted git repository. raiden00 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 6c4b30736e arm/debug:fix gdbstub clear fpb & dwt when already use jtag/swo bug 6c4b30736e is described below commit 6c4b30736e6ffc1a4882c88b5349eb51e1083d04 Author: anjiahao <anjia...@xiaomi.com> AuthorDate: Mon Dec 18 10:51:15 2023 +0800 arm/debug:fix gdbstub clear fpb & dwt when already use jtag/swo bug Signed-off-by: anjiahao <anjia...@xiaomi.com> --- arch/arm/src/armv7-m/arm_dbgmonitor.c | 7 +++++++ arch/arm/src/armv8-m/arm_dbgmonitor.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/arch/arm/src/armv7-m/arm_dbgmonitor.c b/arch/arm/src/armv7-m/arm_dbgmonitor.c index dad81182db..8eff53a10b 100644 --- a/arch/arm/src/armv7-m/arm_dbgmonitor.c +++ b/arch/arm/src/armv7-m/arm_dbgmonitor.c @@ -633,6 +633,13 @@ int up_debugpoint_remove(int type, void *addr, size_t size) int arm_enable_dbgmonitor(void) { + if (getreg32(NVIC_DHCSR) & NVIC_DHCSR_C_DEBUGEN) + { + /* If already on debug mode(jtag/swo), just return */ + + return OK; + } + arm_fpb_init(); arm_dwt_init(); modifyreg32(NVIC_DEMCR, 0, NVIC_DEMCR_MONEN | NVIC_DEMCR_TRCENA); diff --git a/arch/arm/src/armv8-m/arm_dbgmonitor.c b/arch/arm/src/armv8-m/arm_dbgmonitor.c index c887bd71bd..43be3f7fc8 100644 --- a/arch/arm/src/armv8-m/arm_dbgmonitor.c +++ b/arch/arm/src/armv8-m/arm_dbgmonitor.c @@ -659,6 +659,13 @@ int up_debugpoint_remove(int type, void *addr, size_t size) int arm_enable_dbgmonitor(void) { + if (getreg32(NVIC_DHCSR) & NVIC_DHCSR_C_DEBUGEN) + { + /* If already on debug mode(jtag/swo), just return */ + + return OK; + } + arm_fpb_init(); arm_dwt_init(); modifyreg32(NVIC_DEMCR, 0, NVIC_DEMCR_MONEN | NVIC_DEMCR_TRCENA);