]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/user-guide/cdl-configuration-items.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / user-guide / cdl-configuration-items.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Configuration Items</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
21 REL="UP"
22 TITLE="CDL Concepts"
23 HREF="cdl-concepts.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Packages"
26 HREF="cdl-packages.html"><LINK
27 REL="NEXT"
28 TITLE="Conflicts"
29 HREF="cdl-conflicts.html"></HEAD
30 ><BODY
31 CLASS="SECT1"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos User Guide</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="cdl-packages.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 >Chapter 24. CDL Concepts</TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="cdl-conflicts.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="SECT1"
82 ><H1
83 CLASS="SECT1"
84 ><A
85 NAME="CDL-CONFIGURATION-ITEMS">Configuration Items</H1
86 ><P
87 ><SPAN
88 CLASS="emphasis"
89 ><I
90 CLASS="EMPHASIS"
91 >Configuration items</I
92 ></SPAN
93 > are the
94           individual entities that form a configuration.  Each item
95           corresponds to the setting of a C pre-processor macro (for
96           example,
97           <TT
98 CLASS="LITERAL"
99 >CYGHWR_HAL_ARM_PID_GDB_BAUD</TT
100 >). 
101           The code of <SPAN
102 CLASS="PRODUCTNAME"
103 >eCos</SPAN
104 > itself is written to test such pre-processor
105           macros so as to tailor the code.  User code can do
106           likewise.</P
107 ><P
108 >Configuration items come in the following flavors:</P
109 ><P
110 ></P
111 ><UL
112 ><LI
113 ><P
114 ><SPAN
115 CLASS="emphasis"
116 ><I
117 CLASS="EMPHASIS"
118 >None</I
119 ></SPAN
120 >: such entities serve only as
121 place holders in the hierarchy, allowing other entities to be grouped
122 more easily.</P
123 ></LI
124 ><LI
125 ><P
126 ><SPAN
127 CLASS="emphasis"
128 ><I
129 CLASS="EMPHASIS"
130 >Boolean</I
131 ></SPAN
132 > entities are the most common
133 flavor; they correspond to units of functionality that can be either
134 enabled or disabled.  If the entity is enabled then there will be
135 a #define; code will check the setting using, for example, #ifdef</P
136 ></LI
137 ><LI
138 ><P
139 ><SPAN
140 CLASS="emphasis"
141 ><I
142 CLASS="EMPHASIS"
143 >Data</I
144 ></SPAN
145 > entities encapsulate some arbitrary
146 data. Other properties such as a set or range of legal values can
147 be used to constrain the actual values, for example to an integer
148 or floating point value within a certain range.</P
149 ></LI
150 ><LI
151 ><P
152 ><SPAN
153 CLASS="emphasis"
154 ><I
155 CLASS="EMPHASIS"
156 >Booldata</I
157 ></SPAN
158 > entities combine the attributes
159 of <SPAN
160 CLASS="emphasis"
161 ><I
162 CLASS="EMPHASIS"
163 >Boolean</I
164 ></SPAN
165 > and <SPAN
166 CLASS="emphasis"
167 ><I
168 CLASS="EMPHASIS"
169 >Data</I
170 ></SPAN
171 >: they
172 can be enabled or disabled and, if enabled, will hold a data value.</P
173 ></LI
174 ></UL
175 ><P
176 >Like packages, configuration items exist in a tree-based hierarchy:
177 each configuration item has a parent which may be another configuration
178 item or a package.  Under some conditions (such as when packages
179 are added or removed from a configuration), items may be &#8220;re-parented&#8221; such
180 that their position in the tree changes. </P
181 ><DIV
182 CLASS="SECT2"
183 ><H2
184 CLASS="SECT2"
185 ><A
186 NAME="AEN1898">Expressions</H2
187 ><P
188 >Expressions are relationships between CDL items.  There are
189 three types of expression in CDL:</P
190 ><DIV
191 CLASS="TABLE"
192 ><A
193 NAME="CDL-EXPRESSIONS"><P
194 ><B
195 >Table 24-1. CDL Expressions</B
196 ></P
197 ><TABLE
198 BORDER="1"
199 CLASS="CALSTABLE"
200 ><THEAD
201 ><TR
202 ><TH
203 ALIGN="LEFT"
204 VALIGN="TOP"
205 >Expression Type</TH
206 ><TH
207 ALIGN="LEFT"
208 VALIGN="TOP"
209 >Result</TH
210 ><TH
211 ALIGN="LEFT"
212 VALIGN="TOP"
213 >Common Use (see <A
214 HREF="cdl-configuration-items.html#TABLE-CONFIGURATION-PROPERTIES"
215 >Table 24-2</A
216 >)</TH
217 ></TR
218 ></THEAD
219 ><TBODY
220 ><TR
221 ><TD
222 ALIGN="LEFT"
223 VALIGN="TOP"
224 >Ordinary</TD
225 ><TD
226 ALIGN="LEFT"
227 VALIGN="TOP"
228 >A single value</TD
229 ><TD
230 ALIGN="LEFT"
231 VALIGN="TOP"
232 >legal_values property</TD
233 ></TR
234 ><TR
235 ><TD
236 ALIGN="LEFT"
237 VALIGN="TOP"
238 >List</TD
239 ><TD
240 ALIGN="LEFT"
241 VALIGN="TOP"
242 >A range of
243                 values (for example &#8220;1 to 10&#8221;)</TD
244 ><TD
245 ALIGN="LEFT"
246 VALIGN="TOP"
247 >legal_values property </TD
248 ></TR
249 ><TR
250 ><TD
251 ALIGN="LEFT"
252 VALIGN="TOP"
253 >Goal</TD
254 ><TD
255 ALIGN="LEFT"
256 VALIGN="TOP"
257 >True or False</TD
258 ><TD
259 ALIGN="LEFT"
260 VALIGN="TOP"
261 >requires and active_if properties</TD
262 ></TR
263 ></TBODY
264 ></TABLE
265 ></DIV
266 ></DIV
267 ><DIV
268 CLASS="SECT2"
269 ><H2
270 CLASS="SECT2"
271 ><A
272 NAME="AEN1923">Properties</H2
273 ><P
274 >Each configuration item has a set of properties.  The following
275 table describes the most commonly used:</P
276 ><DIV
277 CLASS="TABLE"
278 ><A
279 NAME="TABLE-CONFIGURATION-PROPERTIES"><P
280 ><B
281 >Table 24-2. Configuration properties</B
282 ></P
283 ><TABLE
284 BORDER="1"
285 CLASS="CALSTABLE"
286 ><THEAD
287 ><TR
288 ><TH
289 ALIGN="LEFT"
290 VALIGN="TOP"
291 ><SPAN
292 CLASS="emphasis"
293 ><I
294 CLASS="EMPHASIS"
295 >Property</I
296 ></SPAN
297 ></TH
298 ><TH
299 ALIGN="LEFT"
300 VALIGN="TOP"
301 ><SPAN
302 CLASS="emphasis"
303 ><I
304 CLASS="EMPHASIS"
305 >Use </I
306 ></SPAN
307 ></TH
308 ></TR
309 ></THEAD
310 ><TBODY
311 ><TR
312 ><TD
313 ALIGN="LEFT"
314 VALIGN="TOP"
315 >Flavor</TD
316 ><TD
317 ALIGN="LEFT"
318 VALIGN="TOP"
319 >The &#8220;type&#8221; of the item, as
320                   described above </TD
321 ></TR
322 ><TR
323 ><TD
324 ALIGN="LEFT"
325 VALIGN="TOP"
326 >Enabled</TD
327 ><TD
328 ALIGN="LEFT"
329 VALIGN="TOP"
330 >Whether
331                   the item is enabled </TD
332 ></TR
333 ><TR
334 ><TD
335 ALIGN="LEFT"
336 VALIGN="TOP"
337 >Current_value</TD
338 ><TD
339 ALIGN="LEFT"
340 VALIGN="TOP"
341 >The current value of the item </TD
342 ></TR
343 ><TR
344 ><TD
345 ALIGN="LEFT"
346 VALIGN="TOP"
347 >Default_value</TD
348 ><TD
349 ALIGN="LEFT"
350 VALIGN="TOP"
351 >An ordinary expression defining the default value of the
352                     item</TD
353 ></TR
354 ><TR
355 ><TD
356 ALIGN="LEFT"
357 VALIGN="TOP"
358 >Legal_values</TD
359 ><TD
360 ALIGN="LEFT"
361 VALIGN="TOP"
362 >A
363                   list expression defining the values the item may hold (for example,
364                   1 to10) </TD
365 ></TR
366 ><TR
367 ><TD
368 ALIGN="LEFT"
369 VALIGN="TOP"
370 >Active_if</TD
371 ><TD
372 ALIGN="LEFT"
373 VALIGN="TOP"
374 >A
375                   goal expression denoting the requirement for this item to be active
376 (see below: <SPAN
377 CLASS="emphasis"
378 ><I
379 CLASS="EMPHASIS"
380 >Inactive Items</I
381 ></SPAN
382 >) </TD
383 ></TR
384 ><TR
385 ><TD
386 ALIGN="LEFT"
387 VALIGN="TOP"
388 >Requires</TD
389 ><TD
390 ALIGN="LEFT"
391 VALIGN="TOP"
392 >A goal
393 expression denoting requirements this item places on others (see
394 below: <SPAN
395 CLASS="emphasis"
396 ><I
397 CLASS="EMPHASIS"
398 >Conflicts</I
399 ></SPAN
400 >) </TD
401 ></TR
402 ><TR
403 ><TD
404 ALIGN="LEFT"
405 VALIGN="TOP"
406 >Calculated</TD
407 ><TD
408 ALIGN="LEFT"
409 VALIGN="TOP"
410 >Whether
411 the item as non-modifiable </TD
412 ></TR
413 ><TR
414 ><TD
415 ALIGN="LEFT"
416 VALIGN="TOP"
417 >Macro</TD
418 ><TD
419 ALIGN="LEFT"
420 VALIGN="TOP"
421 >The corresponding
422 C pre-processor macro </TD
423 ></TR
424 ><TR
425 ><TD
426 ALIGN="LEFT"
427 VALIGN="TOP"
428 >File</TD
429 ><TD
430 ALIGN="LEFT"
431 VALIGN="TOP"
432 >The C header
433 file in which the macro is defined </TD
434 ></TR
435 ><TR
436 ><TD
437 ALIGN="LEFT"
438 VALIGN="TOP"
439 >URL</TD
440 ><TD
441 ALIGN="LEFT"
442 VALIGN="TOP"
443 >The URL of
444 a documentation page describing the item </TD
445 ></TR
446 ><TR
447 ><TD
448 ALIGN="LEFT"
449 VALIGN="TOP"
450 >Hardware</TD
451 ><TD
452 ALIGN="LEFT"
453 VALIGN="TOP"
454 >Indicates
455 that a particular package is related to specific hardware</TD
456 ></TR
457 ></TBODY
458 ></TABLE
459 ></DIV
460 ><P
461 >A complete description of properties is contained in the <I
462 CLASS="CITETITLE"
463 >Component
464 Writer&#8217;s Guide</I
465 >.</P
466 ></DIV
467 ><DIV
468 CLASS="SECT2"
469 ><H2
470 CLASS="SECT2"
471 ><A
472 NAME="AEN1976">Inactive Items</H2
473 ><P
474 >Descendants of an item that is disabled are inactive: their
475 values may not be changed.  Items may also become <SPAN
476 CLASS="emphasis"
477 ><I
478 CLASS="EMPHASIS"
479 >inactive</I
480 ></SPAN
481 > if
482 an active_if expression is used to make the item dependent
483 on an expression involving other items. </P
484 ></DIV
485 ></DIV
486 ><DIV
487 CLASS="NAVFOOTER"
488 ><HR
489 ALIGN="LEFT"
490 WIDTH="100%"><TABLE
491 SUMMARY="Footer navigation table"
492 WIDTH="100%"
493 BORDER="0"
494 CELLPADDING="0"
495 CELLSPACING="0"
496 ><TR
497 ><TD
498 WIDTH="33%"
499 ALIGN="left"
500 VALIGN="top"
501 ><A
502 HREF="cdl-packages.html"
503 ACCESSKEY="P"
504 >Prev</A
505 ></TD
506 ><TD
507 WIDTH="34%"
508 ALIGN="center"
509 VALIGN="top"
510 ><A
511 HREF="ecos-user-guide.html"
512 ACCESSKEY="H"
513 >Home</A
514 ></TD
515 ><TD
516 WIDTH="33%"
517 ALIGN="right"
518 VALIGN="top"
519 ><A
520 HREF="cdl-conflicts.html"
521 ACCESSKEY="N"
522 >Next</A
523 ></TD
524 ></TR
525 ><TR
526 ><TD
527 WIDTH="33%"
528 ALIGN="left"
529 VALIGN="top"
530 >Packages</TD
531 ><TD
532 WIDTH="34%"
533 ALIGN="center"
534 VALIGN="top"
535 ><A
536 HREF="cdl-concepts.html"
537 ACCESSKEY="U"
538 >Up</A
539 ></TD
540 ><TD
541 WIDTH="33%"
542 ALIGN="right"
543 VALIGN="top"
544 >Conflicts</TD
545 ></TR
546 ></TABLE
547 ></DIV
548 ></BODY
549 ></HTML
550 >