This is an automated email from the ASF dual-hosted git repository. jerzy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit 642da90738e3d17037803ccd8d4c66b333d2430e Author: Jerzy Kasenberg <[email protected]> AuthorDate: Wed Aug 7 13:38:12 2019 +0200 kernel: Remove software breakpoint from __assert_func In case of assert failure breakpoint is placed in faulting line. Removed code would stop again at breakpoint inside __assert_func which is redundant. --- kernel/os/src/arch/cortex_m0/os_fault.c | 7 +------ kernel/os/src/arch/cortex_m3/os_fault.c | 7 +------ kernel/os/src/arch/cortex_m33/os_fault.c | 7 +------ kernel/os/src/arch/cortex_m4/os_fault.c | 8 -------- kernel/os/src/arch/cortex_m7/os_fault.c | 6 ------ 5 files changed, 3 insertions(+), 32 deletions(-) diff --git a/kernel/os/src/arch/cortex_m0/os_fault.c b/kernel/os/src/arch/cortex_m0/os_fault.c index 8e61c22..816b4b3 100644 --- a/kernel/os/src/arch/cortex_m0/os_fault.c +++ b/kernel/os/src/arch/cortex_m0/os_fault.c @@ -121,12 +121,7 @@ __assert_func(const char *file, int line, const char *func, const char *e) #if MYNEWT_VAL(OS_ASSERT_CB) os_assert_cb(); #endif - if (hal_debugger_connected()) { - /* - * If debugger is attached, breakpoint before the trap. - */ - asm("bkpt"); - } + SCB->ICSR = SCB_ICSR_NMIPENDSET_Msk; /* Exception happens right away. Next line not executed. */ hal_system_reset(); diff --git a/kernel/os/src/arch/cortex_m3/os_fault.c b/kernel/os/src/arch/cortex_m3/os_fault.c index cfe94ab..a1e844e 100644 --- a/kernel/os/src/arch/cortex_m3/os_fault.c +++ b/kernel/os/src/arch/cortex_m3/os_fault.c @@ -134,12 +134,7 @@ __assert_func(const char *file, int line, const char *func, const char *e) #if MYNEWT_VAL(OS_ASSERT_CB) os_assert_cb(); #endif - if (hal_debugger_connected()) { - /* - * If debugger is attached, breakpoint before the trap. - */ - asm("bkpt"); - } + SCB->ICSR = SCB_ICSR_NMIPENDSET_Msk; asm("isb"); hal_system_reset(); diff --git a/kernel/os/src/arch/cortex_m33/os_fault.c b/kernel/os/src/arch/cortex_m33/os_fault.c index a1b0bd8..5c45da9 100644 --- a/kernel/os/src/arch/cortex_m33/os_fault.c +++ b/kernel/os/src/arch/cortex_m33/os_fault.c @@ -144,12 +144,7 @@ __assert_func(const char *file, int line, const char *func, const char *e) #if MYNEWT_VAL(OS_ASSERT_CB) os_assert_cb(); #endif - if (hal_debugger_connected()) { - /* - * If debugger is attached, breakpoint before the trap. - */ - asm("bkpt"); - } + SCB->ICSR = SCB_ICSR_PENDNMISET_Msk; asm("isb"); hal_system_reset(); diff --git a/kernel/os/src/arch/cortex_m4/os_fault.c b/kernel/os/src/arch/cortex_m4/os_fault.c index 55cb83e..6809f90 100644 --- a/kernel/os/src/arch/cortex_m4/os_fault.c +++ b/kernel/os/src/arch/cortex_m4/os_fault.c @@ -151,14 +151,6 @@ __assert_func(const char *file, int line, const char *func, const char *e) os_assert_cb(); #endif - if (hal_debugger_connected()) { - /* - * If debugger is attached, breakpoint before the trap. - */ -#if !MYNEWT_VAL(MCU_DEBUG_IGNORE_BKPT) - asm("bkpt"); -#endif - } SCB->ICSR = SCB_ICSR_NMIPENDSET_Msk; asm("isb"); hal_system_reset(); diff --git a/kernel/os/src/arch/cortex_m7/os_fault.c b/kernel/os/src/arch/cortex_m7/os_fault.c index 6b138b5..c0c5e1b 100644 --- a/kernel/os/src/arch/cortex_m7/os_fault.c +++ b/kernel/os/src/arch/cortex_m7/os_fault.c @@ -134,12 +134,6 @@ __assert_func(const char *file, int line, const char *func, const char *e) os_assert_cb(); #endif - if (hal_debugger_connected()) { - /* - * If debugger is attached, breakpoint before the trap. - */ - asm("bkpt"); - } SCB->ICSR = SCB_ICSR_NMIPENDSET_Msk; asm("isb"); hal_system_reset();
