comparison packages/infra/current/cdl/debug.cdl @ 76:435cced73e2f ecos-v1_3_1-release

eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
author jlarmour
date Tue, 28 Mar 2000 14:10:45 +0000
parents
children 42f843b391aa
comparison
equal deleted inserted replaced
75:41bf073c0c32 76:435cced73e2f
1 # ====================================================================
2 #
3 # debug.cdl
4 #
5 # Infrastructure debugging configuration data
6 #
7 # ====================================================================
8 #####COPYRIGHTBEGIN####
9 #
10 # -------------------------------------------
11 # The contents of this file are subject to the Red Hat eCos Public License
12 # Version 1.1 (the "License"); you may not use this file except in
13 # compliance with the License. You may obtain a copy of the License at
14 # http://www.redhat.com/
15 #
16 # Software distributed under the License is distributed on an "AS IS"
17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 # License for the specific language governing rights and limitations under
19 # the License.
20 #
21 # The Original Code is eCos - Embedded Configurable Operating System,
22 # released September 30, 1998.
23 #
24 # The Initial Developer of the Original Code is Red Hat.
25 # Portions created by Red Hat are
26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
27 # All Rights Reserved.
28 # -------------------------------------------
29 #
30 #####COPYRIGHTEND####
31 # ====================================================================
32 ######DESCRIPTIONBEGIN####
33 #
34 # Author(s): jskov
35 # Original data: bartv,hmt
36 # Contributors:
37 # Date: 1999-07-02
38 #
39 #####DESCRIPTIONEND####
40 #
41 # ====================================================================
42
43 # If global debugging is enabled then by default all assertions
44 # are enabled. Tracing is not enabled by default because it
45 # involves excessive overheads, for example on some targets
46 # it requires sending a string down a serial line for every
47 # function call. Both assertions and tracing are controlled
48 # by the following lines.
49
50 cdl_component CYGDBG_USE_ASSERTS {
51 display "Use asserts"
52 default_value 1
53 description "
54 If this option is defined, asserts in the code are tested.
55 Assert functions (CYG_ASSERT()) are defined in
56 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
57 If it is not defined, these result in no additional
58 object code and no checking of the asserted conditions."
59
60 script assert.cdl
61 }
62
63 cdl_component CYGDBG_USE_TRACING {
64 display "Use tracing"
65 default_value 0
66 description "
67 If this option is defined, tracing operations
68 result in output or logging, depending on other options.
69 This may have adverse effects on performance, if the time
70 taken to output message overwhelms the available CPU
71 power or output bandwidth.
72 Trace functions (CYG_TRACE()) are defined in
73 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
74 If it is not defined, these result in no additional
75 object code and no trace information."
76
77
78 # The eCos system uses two types of tracing mechanisms. The most common
79 # type traces events, for example an event could be logged whenever
80 # an interrupt occurs or whenever a context switch takes place. The
81 # second type of tracing mechanism records every function entry and
82 # exit. It is possible to disable this second type of tracing while
83 # leaving the main tracing facility enabled.
84 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
85 display "Trace function reports"
86 default_value 1
87 description "
88 This option allows individual control of
89 function entry/exit tracing, independent of
90 more general tracing output.
91 This may be useful to remove clutter from a
92 trace log."
93 }
94
95 cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
96 display "Use trace text"
97 default_value 1
98 description "
99 All trace calls within eCos contain a text message
100 which should give some information about the circumstances.
101 These text messages will end up being embedded in the
102 application image and hence there is a significant penalty
103 in terms of image size.
104 It is possible to suppress the use of these messages by
105 disabling this option.
106 This results in smaller code size, but there is less
107 human-readable information available in the trace output,
108 possibly only filenames and line numbers."
109 }
110 }
111
112 # FIXME: The below options should be mutually exclusive.
113 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
114 display "Null output"
115 # type radio
116 default_value 0
117 description "
118 A null output module which is useful when
119 debugging interactively; the output routines
120 can be breakpointed rather than have them actually
121 'print' something."
122 }
123 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
124 display "Simple output"
125 # type radio
126 default_value 0
127 description "
128 An output module which produces simple output
129 from tracing and assertion events."
130 }
131 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
132 display "Fancy output"
133 # type radio
134 default_value 0
135 description "
136 An output module which produces fancy output
137 from tracing and assertion events."
138 }
139 cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
140 display "Buffered tracing"
141 # type radio
142 default_value 1
143 description "
144 An output module which buffers output
145 from tracing and assertion events. The stored
146 messages are output when an assert fires, or
147 CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
148 is called.
149 Of course, there will only be stored messages
150 if tracing per se (CYGDBG_USE_TRACING)
151 is enabled above."
152
153 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
154 display "Trace buffer size"
155 flavor data
156 active_if CYGDBG_USE_TRACING
157 default_value 32
158 legal_values 5 to 65535
159 description "
160 The size of the trace buffer. This counts the number
161 of trace records stored. When the buffer fills it
162 either wraps, stops recording, or generates output."
163 }
164 # FIXME: The below options should be mutually exclusive.
165 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
166 display "Wrap trace buffer when full"
167 active_if CYGDBG_USE_TRACING
168 default_value 1
169 # type radio
170 description "
171 When the trace buffer has filled with records it
172 starts again at the beginning. Hence only the last
173 CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
174 be recorded."
175 }
176 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
177 display "Halt trace buffer when full"
178 active_if CYGDBG_USE_TRACING
179 default_value 0
180 # type radio
181 description "
182 When the trace buffer has filled with records it
183 stops recording. Hence only the first
184 CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
185 be recorded."
186 }
187 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
188 display "Print trace buffer when full"
189 active_if CYGDBG_USE_TRACING
190 default_value 0
191 # type radio
192 description "
193 When the trace buffer has filled with records it
194 prints the contents of the buffer. The buffer is then
195 emptied and the system continues."
196 }
197 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
198 display "Print trace buffer on assert fail"
199 active_if CYGDBG_USE_TRACING
200 default_value 1
201 description "
202 When an assertion fails the trace buffer will be
203 printed to the default diagnostic device."
204 }
205 }
206
207 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
208 display "Use function names"
209 default_value 1
210 description "
211 All trace and assert calls within eCos contain a
212 reference to the builtin macro '__PRETTY_FUNCTION__',
213 which evaluates to a string containing
214 the name of the current function.
215 This is useful when reading a trace log.
216 It is possible to suppress the use of the function name
217 by disabling this option.
218 This results in smaller code size, but there is less
219 human-readable information available in the trace output,
220 possibly only filenames and line numbers."
221 }