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();

Reply via email to