blob: d568bc7e34d4ca040e2152da1274bed3aadd0563 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if PLATFORM_EC_DEBUG_ASSERT
choice "Behaviour on assertion failure"
prompt "Select behaviour on assertion failure"
help
This selects the action taken when the board hits an assertion
failure in the code. This should not happen in normal operation,
but can appear during development when the code is not yet fully
tested.
config PLATFORM_EC_DEBUG_ASSERT_REBOOTS
bool "Reboot"
help
Prints a message and reboot if an assert() macro fails at runtime.
If PLATFORM_EC_SOFTWARE_PANIC is enabled then the information is
written to the panic log before rebooting.
config PLATFORM_EC_DEBUG_ASSERT_BREAKPOINT
bool "Generate a breakpoint"
help
Immediately hits a breakpoint instruction (without printing a message)
so that a connected JTAG debugger can be used to debug the problem
from there. If there is no debugger connected then the breakpoint
instruction will cause the board to reboot immediately.
endchoice # "Behaviour on assertion failure"
config PLATFORM_EC_DEBUG_ASSERT_BRIEF
bool "Use brief assertion-failure messages"
depends on PLATFORM_EC_DEBUG_ASSERT_REBOOTS
help
Normally the assertion-failure messages include the expression that
failed and the function name where the failure occurred. These are
both stored as strings and can add a lot to the size of the image,
since they are generated for every call to assert(). Use this option
to drop them so that only the file and line number are shown.
This option is of course not available with
PLATFORM_EC_DEBUG_ASSERT_BREAKPOINT, since that does not print a
message at all.
endif # PLATFORM_EC_DEBUG_ASSERT
|