summaryrefslogtreecommitdiff
path: root/core/cortex-m/panic.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-06-03 11:03:57 -0700
committerGerrit <chrome-bot@google.com>2012-06-22 10:13:36 -0700
commitd47905ce270b5934a2e8952a64bcc316fd27fda0 (patch)
tree127e36fe5e8c5060a41cb15435c022b7c26476e8 /core/cortex-m/panic.c
parentbf376505e933f438b6fb6c1033f442e19c457ced (diff)
downloadchrome-ec-d47905ce270b5934a2e8952a64bcc316fd27fda0.tar.gz
Make ASSERT() report assertion failures
Rather than just reset the board, report assertion failures to aid debugging. To enable this, use CONFIG_ASSERT_HELP. BUG=chrome-os-partner:10149 TEST=manual Enable the option for snow, add a failing ASSERT() to the rw command and see the a nice message is printed now. ASSERTION FAILURE 'address' in command_read_word() at common/memory_commands.c:00000037 Change-Id: Ice59434c5daf610832dd0e1fcfa5630dc847bb67 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/25411
Diffstat (limited to 'core/cortex-m/panic.c')
-rw-r--r--core/cortex-m/panic.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/cortex-m/panic.c b/core/cortex-m/panic.c
index d249974b06..1c9629eff3 100644
--- a/core/cortex-m/panic.c
+++ b/core/cortex-m/panic.c
@@ -360,3 +360,15 @@ void exception_panic(void)
[save_area] "r" (save_area.saved_regs)
);
}
+
+
+#ifdef CONFIG_ASSERT_HELP
+void panic_assert_fail(const char *msg, const char *func, const char *fname,
+ int linenum)
+{
+ panic_printf("\nASSERTION FAILURE '%s' in %s() at %s:%d\n", msg, func,
+ fname, linenum);
+
+ panic_reboot();
+}
+#endif