annotate packages/compat/uitron/current/include/pkgconf/uitron.h @ 64:c38311975d4f ecos-sw-2000-01-28

Merge from eCos master repository on 2000-01-28-04:28:11-GMT
author jlarmour
date Fri, 28 Jan 2000 04:59:39 +0000
parents 29bc183297e1
children bf00f99aec69
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_PKGCONF_UITRON_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_PKGCONF_UITRON_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 // pkgconf/uitron.h
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 // uITRON configuration file
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
8 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
10 //####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
11 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
12 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
13 // The contents of this file are subject to the Red Hat eCos Public License
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
14 // Version 1.0 (the "License"); you may not use this file except in
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
15 // compliance with the License. You may obtain a copy of the License at
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
16 // http://sourceware.cygnus.com/ecos
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
17 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
18 // Software distributed under the License is distributed on an
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
19 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
20 // License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
21 // the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
22 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
23 // The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
24 // released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
25 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
26 // The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
27 // Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
28 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
29 // All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
30 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
31 //
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
32 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
34 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
35 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
36 // Author(s): hmt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
37 // Contributors: hmt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
38 // Date: 1998-03-16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
39 // Purpose: uITRON configuration file
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 // Description:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 // The layout of the uITRON Compatibility layer source code is documented in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47 // .../<REPOSITORY>/compat/uitron/<VERSION>/include/uit_func.h
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 // First get external global configuration in force:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51 #include <pkgconf/kernel.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53 // The basic question: is the uITRON package provided at all?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55 #ifdef CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57 /* ---------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 * Define an overall package for the UITRON Compatibility layer. Then
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59 * create additional packages for the various different UITRON's currently
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 * available.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 *
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62 * Thought: Can we get a real 'mu' out of this in uITRON throughout?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 * It's \265 in C strings, in iso_8859_1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 *
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65 *
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 * {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 cdl_package CYGPKG_UITRON {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
68 display "eCos uITRON compatibility layer"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 description "eCos supports a uITRON Compatibility Layer, providing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 full Level S (Standard) compliance with Version 3.02 of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 the uITRON Standard, plus many Level E (Extended) features.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 uITRON is the premier Japanese embedded RTOS standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 // Conformance check
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 cdl_option CYGIMP_UITRON_STRICT_CONFORMANCE {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
85 display "Check strict uITRON standards conformance"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 description "Require the rest of the system configuration
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 to match the needs of strict uITRON standards conformance.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 This option can only be set if the rest of the system is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 configured correctly for uITRON semantics, for example
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 there must be a realtime clock, a suitable scheduler, and no
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 timeslicing.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94 Of course a system without this selected can be completely
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 conformant; this is here to help you check."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 requires CYGVAR_KERNEL_COUNTERS_CLOCK
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98 requires CYGSEM_KERNEL_SCHED_MLQUEUE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 requires !CYGSEM_KERNEL_SCHED_TIMESLICE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 requires CYGFUN_KERNEL_THREADS_TIMER
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 cdl_option CYGIMP_UITRON_LOOSE_CONFORMANCE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103 display "System configuration overrides uITRON"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 description "Do not require the rest of the system configuration
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 to match the needs of strict uITRON standards conformance.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 For example a bitmap scheduler, or timeslicing, can be used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 with the uITRON functions, but such an environment is not
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 strictly conformant with the uITRON specification.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 Of course a system with this selected can be completely
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 conformant; but it is up to you to configure it correctly."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116 #undef CYGIMP_UITRON_STRICT_CONFORMANCE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 #define CYGIMP_UITRON_LOOSE_CONFORMANCE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 // uITRON FUNCTION CALLS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123 // If compiling with a C++ compiler, uITRON functions can be inline:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 // define this to make it so.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 cdl_option CYGIMP_UITRON_INLINE_FUNCS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
128 display "Inline functions"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131 description "If compiling your application with a C++ compiler,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132 uITRON functions can be inline: set this to make it so.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133 Inlining functions often increases execution speed,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 though possibly at the cost of a larger executable,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135 depending on what functions are used.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 Do NOT set this if compiling your application
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137 in plain C."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
141 #undef CYGIMP_UITRON_INLINE_FUNCS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143 // If not using inline functions, then uITRON functions are out-of-line; by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 // default they have plain 'C' linkage ie. their names are extern 'C' in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145 // the C++ world and unadorned in the C world. To give them C++ names (NOT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 // useable by plain 'C' programs), define this:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 cdl_option CYGIMP_UITRON_CPP_OUTLINE_FUNCS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
150 display "C++ function names"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153 description "If compiling your application with a C++ compiler,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 uITRON functions can be given C++ style mangled names:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155 set this to make it so.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 This option may make debugging your program easier,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 depending on your development environment.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158 Do NOT set this if compiling your application
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 in plain C."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
162 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
163 #undef CYGIMP_UITRON_CPP_OUTLINE_FUNCS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
164
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
165 // When an application is fully debugged it might be useful to remove the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166 // code which checks parameters in the uITRON function calls. To use
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 // asserts [CYG_ASSERT()] instead - which are compiled to nothing in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
168 // release flavored builds - define this:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
169
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
170 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
171 cdl_option CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
172 display "Return error codes for bad params"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
174 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
175 description "When an application is fully debugged there is no need
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
176 to check for bad parameters on every system call, for those
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
177 parameters which are typically pointers or constants.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178 Removing the checking code saves space
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
179 and improves performance: set this to make it so.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180 When this option is set, the correctness of parameters
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 is asserted using CYG_ASSERT() which compiles to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
182 nothing in a non-debug configuration."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 #define CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 // By default both C's NULL and uITRON's NADR are treated as bad addresses;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
189 // but some controllers might have memory at address zero, and want to use
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
190 // it. In that case, prevent NULL being bounced by enabling this:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193 cdl_option CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194 display "NULL is a good pointer"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197 description "uITRON deliberately defines the constant NADR (-1) for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 use as an invalid memory address.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199 The value -1 is chosen to allow working in microcontrollers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 which have real memory at address zero, the traditional 'C'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 NULL pointer.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202 By default, uITRON functions check for both NULL and NADR as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203 bad addresses: set this option to prevent checking for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204 NULL and allow pointers to address zero to be used."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 doc ref/ecos-ref/micro-itron-api.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 #undef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
209
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
210
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
211 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
212 // uITRON KERNEL OBJECTS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
213 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214 // First, simple synchronisation objects without complex initialization:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215 // semaphores, message or mail boxes and flags. Declare how many of each
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216 // will exist in the system. They will be statically created with default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 // initialization, ready for use. Their IDs in the uITRON sense are from 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218 // to the value of the appropriate symbol below:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221 cdl_component CYGPKG_UITRON_SEMAS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222 display "Semaphores"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225 description "uITRON Semaphore objects are used with functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 named xxx_sem(); they support traditional semaphore
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227 semantics."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229 cdl_option CYGNUM_UITRON_SEMAS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 display "Number of semaphores"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231 parent CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 description "The number of uITRON semaphores
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236 Valid semaphore object IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 cdl_component CYGPKG_UITRON_SEMAS_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 parent CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 semaphore
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 (cre_sem, del_sem).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247 Otherwise all semaphores are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250 cdl_option CYGNUM_UITRON_SEMAS_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251 display "Number of semaphores created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 parent CYGPKG_UITRON_SEMAS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255 description "The number of uITRON semaphores initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
256 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
257 of semaphores in the system, though setting it to a large
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
258 value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
259 Initially, only semaphores numbered 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
260 higher numbered ones must be created before use.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
261 It is only useful to initialize semaphores up to this number;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
262 higher numbered ones must be created in order to use them,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
263 and so they will be re-initialized."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
264
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
265 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
266 cdl_component CYGPKG_UITRON_SEMAS_ARE_INITIALIZED {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
267 display "Initialize semaphore counts"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
268 parent CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
269 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
270 description "Initialize semaphores to specific count values.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
271 Otherwise semaphores are initialized with the count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
272 set to zero."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
273 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
274 cdl_option CYGDAT_UITRON_SEMA_INITIALIZERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
275 display "Static initializers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
276 parent CYGPKG_UITRON_SEMAS_ARE_INITIALIZED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
277 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
278 description "A list of initializers separated by commas,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
279 one per line.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280 An initializer is 'CYG_UIT_SEMA(INITIAL-COUNT)'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281 or 'CYG_UIT_SEMA_NOEXS' for slots above the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 initially to be created, when create and delete
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283 operations are supported.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
284 Note: this option is invoked in the context of a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
285 C++ array initializer, between curly brackets.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
286 Ensure that the number of initializers here exactly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
287 matches the total number of semaphores specified."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
289 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
290
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
291 // Counting Semaphores: xxx_sem() ops in uITRON.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
292 #define CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
293 #define CYGNUM_UITRON_SEMAS 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
294 #undef CYGPKG_UITRON_SEMAS_ARE_INITIALIZED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
295
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
296 // Optionally initialize in terms of CYG_UIT_SEMA( initial_count ):
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
297 #ifdef CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
298 #ifdef CYGPKG_UITRON_SEMAS_ARE_INITIALIZED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
299 #if 0 < CYGNUM_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
300 #define CYGDAT_UITRON_SEMA_INITIALIZERS \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
301 CYG_UIT_SEMA( 0 ), \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
302 CYG_UIT_SEMA( 0 ), \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
303 CYG_UIT_SEMA( 0 )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
304 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
305 #endif // CYGPKG_UITRON_SEMAS_ARE_INITIALIZED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
306
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
307 #define CYGPKG_UITRON_SEMAS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
308
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
309 #ifdef CYGPKG_UITRON_SEMAS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
310 #define CYGNUM_UITRON_SEMAS_INITIALLY 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
311 #endif // CYGPKG_UITRON_SEMAS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
312
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
313 #endif // CYGPKG_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
314
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
315 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
316 cdl_component CYGPKG_UITRON_MBOXES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
317 display "Mailboxes"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
318 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
319 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
320 description "uITRON Mailbox objects are used with functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
321 named xxx_msg() and xxx_mbx(); they support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
322 passing addresses (of 'messages') between tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323 in a safe manner."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
325 cdl_option CYGNUM_UITRON_MBOXES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
326 display "Number of mailboxes"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
327 parent CYGPKG_UITRON_MBOXES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
329 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
330 description "The number of uITRON mailboxes
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
331 present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
332 Valid mailbox object IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
333 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
334 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335 cdl_component CYGPKG_UITRON_MBOXES_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 parent CYGPKG_UITRON_MBOXES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340 mailbox
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342 (cre_mbx, del_mbx).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 Otherwise all mailboxes are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 cdl_option CYGNUM_UITRON_MBOXES_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347 display "Number of mailboxes created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 parent CYGPKG_UITRON_MBOXES_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 description "The number of uITRON mailboxes initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 of mailboxes in the system, though setting it to a large
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
354 value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
355 Initially, only mailboxes numbered 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 higher numbered ones must be created before use."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 // Message Boxes: xxx_msg() ops in uITRON.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361 #define CYGPKG_UITRON_MBOXES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 #define CYGNUM_UITRON_MBOXES 4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364 #ifdef CYGPKG_UITRON_MBOXES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 #define CYGPKG_UITRON_MBOXES_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 #ifdef CYGPKG_UITRON_MBOXES_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369 #define CYGNUM_UITRON_MBOXES_INITIALLY 4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370 #endif // CYGPKG_UITRON_MBOXES_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371 #endif // CYGPKG_UITRON_MBOXES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 cdl_component CYGPKG_UITRON_FLAGS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375 display "Eventflags"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378 description "uITRON Eventflag objects are used with functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 named xxx_flg(); they support communication between
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 tasks by means of setting and clearing bits in a word
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
381 or flag value.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
382 Waiting for all or any of a set of bits is supported."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
383 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384 cdl_option CYGNUM_UITRON_FLAGS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
385 display "Number of eventflags"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386 parent CYGPKG_UITRON_FLAGS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
389 description "The number of uITRON eventflag
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 objects present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391 Valid eventflag object IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 cdl_component CYGPKG_UITRON_FLAGS_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396 parent CYGPKG_UITRON_FLAGS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
397 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
398 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
399 eventflag
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
400 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
401 (cre_flg, del_flg).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
402 Otherwise all eventflags are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 cdl_option CYGNUM_UITRON_FLAGS_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406 display "Number of eventflags created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407 parent CYGPKG_UITRON_FLAGS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410 description "The number of uITRON eventflags initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412 of eventflags in the system, though setting it to a large
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413 value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 Initially, only eventflags numbered 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
415 higher numbered ones must be created before use."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419 // Flags: xxx_flg ops in uITRON.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 #define CYGPKG_UITRON_FLAGS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421 #define CYGNUM_UITRON_FLAGS 5
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 #ifdef CYGPKG_UITRON_FLAGS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425 #define CYGPKG_UITRON_FLAGS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427 #ifdef CYGPKG_UITRON_FLAGS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 #define CYGNUM_UITRON_FLAGS_INITIALLY 5
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 #endif // CYGPKG_UITRON_FLAGS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 #endif // CYGPKG_UITRON_FLAGS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433 // Next, uITRON tasks. These must be initialized, and the number of them
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 // must match the number of entries in the initializer definition.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 // CYGNUM_UITRON_TASKS defines the number of tasks; they are numbered 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 // through CYGNUM_UITRON_TASKS.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 // CYGDAT_UITRON_TASK_EXTERNS is used to declare external symbols which are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440 // used in the initializations, typically the addresses of the functions who
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441 // implement each of the tasks. Other objects might also be declared, for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
442 // example stack data or scratch data which is used by the tasks.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444 // CYGDAT_UITRON_TASK_INITIALIZERS defines a list of CYG_UIT_TASK()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445 // initializers, separated by commas. The number of these defines how many
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
446 // uITRON tasks exist in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
447 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
448 // Both of these symbols must be defined.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450 // Task IDs in the uITRON sense are from 1 to the number of uITRON tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 // which exist in the system, defined by CYGDAT_UITRON_TASK_INITIALIZERS.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 // Tasks are dormant by default from the start; they must be resumed in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 // order to run when the scheduler starts. Code to do this is provided in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455 // the uITRON package; it is present if this symbol is defined, and can be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 // called from plain C code:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457 // CYGNUM_UITRON_START_TASKS > 0: start tasks 1..<value>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458 // CYGNUM_UITRON_START_TASKS = 0: start all uITRON tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459 // ie. 1..CYGNUM_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
461 // Alternatively, an expert programmer could start the uITRON tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462 // individually using the C++ system calls on the static array of tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463 // declared in uit_objs.hxx
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
464
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
465 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
466 cdl_component CYGPKG_UITRON_TASKS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 display "Tasks"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
468 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
469 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470 description "uITRON Tasks are the basic blocks of multi-tasking
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471 in the uITRON world; they are threads or lightweight
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472 processes, sharing the address space and the CPU.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 They communicate using the primitives outlined above.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474 Each has a stack, an entry point (a C or C++ function),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 and (where appropriate) a scheduling priority."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 cdl_option CYGNUM_UITRON_TASKS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 display "Number of tasks"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482 description "The number of uITRON tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483 present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 Valid task object IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
485 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
487 cdl_option CYGNUM_UITRON_START_TASKS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
488 display "Start tasks"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
489 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
492 description "The number of uITRON tasks
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
493 to start automatically.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
494 Tasks from 1 to this value will be started
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
495 at the beginning of application execution.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
496 A value of zero here means to start them all.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
497 Tasks started in this way have a start code of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
498 zero, as if they were started by sta_tsk(i,0).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
499 If create and delete operations are supported,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
500 this number should be no greater than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
501 of tasks created initially."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
502 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
503 cdl_component CYGPKG_UITRON_TASKS_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
504 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
505 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
506 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
507 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
508 task
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
509 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
510 (cre_tsk, del_tsk).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
511 Otherwise all tasks are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
512 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
513 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
514 cdl_option CYGNUM_UITRON_TASKS_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
515 display "Number of tasks created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
516 parent CYGPKG_UITRON_TASKS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
517 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
518 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
519 description "The number of uITRON tasks initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
520 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
521 of tasks in the system, though setting it to a large
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
522 value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
523 Initially, only tasks numbered 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
524 higher numbered ones must be created before use."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
525 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
526 cdl_option CYGNUM_UITRON_STACK_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
527 display "Default stack size"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
528 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
529 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
530 legal_values 128 to 0x7FFFFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
531 description "Define a default stack size for uITRON tasks,
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
532 for use in the initialization options below.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
533 This will be overridden where it is used if the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
534 architectural HAL requires a minimum stack size
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
535 to handle interrupts correctly."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
536 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
537 cdl_option CYGDAT_UITRON_TASK_EXTERNS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
538 display "Externs for initialization"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
539 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
540 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
541 description "Task initializers may refer to external objects
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
542 such as memory for stack or functions to call.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
543 Use this option to define or declare any external
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
544 objects needed by the task static initializer below.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
545 Example: create some memory for a stack using
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
546 'static char stack1[CYGNUM_UITRON_STACK_SIZE];'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
547 to set up a chunk of memory of the default stack size.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
548 Note: this option is invoked in the 'outermost' context
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
549 of C++ source, where global/static objects are created;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
550 it should contain valid, self-contained, C++ source."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
551 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
552 cdl_option CYGDAT_UITRON_TASK_INITIALIZERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
553 display "Static initializers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
554 parent CYGPKG_UITRON_TASKS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
555 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
556 description "Tasks must be statically
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
557 initialized: enter a list of initializers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
558 separated by commas, one per line.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
559 An initializer is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
560 'CYG_UIT_TASK(NAME,PRIO,FUNC,STACK,SIZE)'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
561 where name is a quoted string to name the task,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
562 prio is the initial priority of the task,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
563 func is the name of the entry point,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
564 stack is the address of the task's stack,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
565 and size is the size of the task's stack.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
566 When create and delete operations are supported,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
567 'CYG_UIT_TASK_NOEXS(NAME,STACK,SIZE)' should be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
568 used for tasks which are not initially created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
569 in order to tell the system what memory to use
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
570 for stacks when these tasks are created later on.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
571 Using 'CYGNUM_UITRON_STACK_SIZE' for size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
572 is recommended, to use the option defined above,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
573 so long as that truly is the size of your stack(s).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
574 Note: this option is invoked in the context of a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
575 C++ array initializer, between curly brackets.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
576 Ensure that the number of initializers here exactly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
577 matches the number of tasks specified."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
578 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
579 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
580
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
581
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
582 // This default configuration has 4 tasks called task1, task2, task3 and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
583 // task4, and only task1 is started up by cyg_uitron_start().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
584
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
585 // first specify how many tasks we have
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
586 // no PKG define, tasks are not optional
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
587 #define CYGNUM_UITRON_TASKS 4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
588
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
589 #define CYGNUM_UITRON_START_TASKS 1 // start task1 only
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
590
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
591 #define CYGNUM_UITRON_STACK_SIZE 2048
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
592
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
593 #define CYGDAT_UITRON_TASK_EXTERNS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
594 extern "C" void task1( unsigned int ); \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
595 extern "C" void task2( unsigned int ); \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
596 extern "C" void task3( unsigned int ); \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
597 extern "C" void task4( unsigned int ); \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
598 static char stack1[ CYGNUM_UITRON_STACK_SIZE ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
599 stack2[ CYGNUM_UITRON_STACK_SIZE ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
600 stack3[ CYGNUM_UITRON_STACK_SIZE ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
601 stack4[ CYGNUM_UITRON_STACK_SIZE ];
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
602
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
603 // then initialize in terms of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
604 // CYG_UIT_TASK( "name", prio, func, stackaddress, stacksize )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
605 // [or CYG_UIT_TASK_NOEXS( "name", stackaddress, stacksize ) ]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
606 // [for create/delete enabled, tasks which are not initially created. ]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
607 #define CYGDAT_UITRON_TASK_INITIALIZERS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
608 CYG_UIT_TASK( "t1", 1, task1, &stack1, CYGNUM_UITRON_STACK_SIZE ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
609 CYG_UIT_TASK( "t2", 2, task2, &stack2, CYGNUM_UITRON_STACK_SIZE ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
610 CYG_UIT_TASK( "t3", 3, task3, &stack3, CYGNUM_UITRON_STACK_SIZE ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
611 CYG_UIT_TASK( "t4", 4, task4, &stack4, CYGNUM_UITRON_STACK_SIZE ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
612
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
613 // Do we support create and delete?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
614 #define CYGPKG_UITRON_TASKS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
615
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
616 #ifdef CYGPKG_UITRON_TASKS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
617 #define CYGNUM_UITRON_TASKS_INITIALLY 4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
618 #endif // CYGPKG_UITRON_TASKS_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
619
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
620 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
621 // Memory Pools, both fixed and variable block:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
622 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
623 // Any such object must be initialized, so the number of them defined must
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
624 // match the number of entries in the initializer much as for tasks.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
625
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
626 // Fixed block allocation memory pools:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
627
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
628 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
629 cdl_component CYGPKG_UITRON_MEMPOOLFIXED {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
630 display "Fixed-size memorypools"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
631 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
632 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
633 description "uITRON supports memory pools for dynamic, task-safe
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
634 memory allocation.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
635 Two kinds are supported, fixed-size and variable-size.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
636 There may be multiple of each
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
637 type of pool, each with differing characteristics.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
638 This option controls whether there are any fixed-size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
639 memorypools in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
640 A fixed-size memorypool allocates blocks of memory of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
641 its preset fixed size and none other."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
642 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
643 cdl_option CYGNUM_UITRON_MEMPOOLFIXED {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
644 display "Number of fixed-size memorypools"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
645 parent CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
646 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
647 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
648 description "The number of uITRON Fixed-Size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
649 Memorypools present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
650 Valid Fixed-Size Memorypool IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
651 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
652 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
653 cdl_component CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
654 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
655 parent CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
656 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
657 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
658 fixed-size memory pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
659 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
660 (cre_mpf, del_mpf).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
661 Otherwise all fixed mempools are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
662 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
663 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
664 cdl_option CYGNUM_UITRON_MEMPOOLFIXED_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
665 display "Number of fixed mempools created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
666 parent CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
667 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
668 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
669 description "The number of fixed mempools initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
670 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
671 of fixed mempools in the system, though setting
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
672 it to a large value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
673 Initially, only fixed mempools numbered from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
674 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
675 higher numbered ones must be created before use.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
676 Whilst all mempools must be initialized to tell
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
677 the system what memory to use for each pool,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
678 it is only useful to initialize the blocksize of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
679 fixed mempools up to this number;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
680 the blocksize for higher numbered ones
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
681 will be defined when they are created."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
682 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
683 cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
684 display "Externs for initialization"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
685 parent CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
686 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
687 description "Fixed mempool initializers may refer to external
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
688 objects such as memory for the pool to manage.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
689 Use this option to define or declare any external
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
690 objects needed by the pool's static initializer below.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
691 Example: create some memory for a mempool using
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
692 'static char fpool1[2000];'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
693 to set up a chunk of memory of 2000 bytes.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
694 Note: this option is invoked in the 'outermost' context
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
695 of C++ source, where global/static objects are created;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
696 it should contain valid, self-contained, C++ source."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
697 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
698 cdl_option CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
699 display "Static initializers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
700 parent CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
701 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
702 description "Fixed block memory pools should be statically
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
703 initialized: enter a list of initializers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
704 separated by commas, one per line.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
705 An initializer is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
706 'CYG_UIT_MEMPOOLFIXED(ADDR,SIZE,BLOCK)'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
707 where addr is the address of memory to manage,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
708 size is the total size of that memory, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
709 block is the block size for allocation by the pool.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
710 If create and delete operations are supported,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
711 initializers of the form
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
712 'CYG_UIT_MEMPOOLFIXED_NOEXS(ADDR,SIZE)' should be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
713 used for pools which are not initially created, to tell
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
714 the system what memory to use for each pool.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
715 Note: this option is invoked in the context of a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
716 C++ array initializer, between curly brackets.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
717 Ensure that the number of initializers here exactly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
718 matches the total number of fixed pools specified."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
719 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
720 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
721
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
722 #define CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
723 #define CYGNUM_UITRON_MEMPOOLFIXED 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
724
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
725 #ifdef CYGPKG_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
726 #if 0 < CYGNUM_UITRON_MEMPOOLFIXED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
727
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
728 #define CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
729
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
730 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
731 #define CYGNUM_UITRON_MEMPOOLFIXED_INITIALLY 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
732 #endif // CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
733
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
734 #define CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
735 static char fpool1[ 2000 ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
736 fpool2[ 2000 ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
737 fpool3[ 2000 ];
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
738
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
739 // in terms of CYG_UIT_MEMPOOLFIXED( addr, size, blocksize );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
740 // [or CYG_UIT_MEMPOOLFIXED_NOEXS( addr, size ) if cre/del supported]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
741 #define CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
742 CYG_UIT_MEMPOOLFIXED( fpool1, 2000, 20 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
743 CYG_UIT_MEMPOOLFIXED( fpool2, 2000, 100 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
744 CYG_UIT_MEMPOOLFIXED( fpool3, 2000, 500 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
745
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
746 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
747 #endif // do we have fixed memory pools?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
748
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
749 // Variable block memory pools:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
750
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
751 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
752 cdl_component CYGPKG_UITRON_MEMPOOLVAR {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
753 display "Variable-size memorypools"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
754 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
755 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
756 description "uITRON supports memory pools for dynamic, task-safe
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
757 memory allocation.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
758 Two kinds are supported, fixed-size and variable-size.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
759 There may be multiple of each
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
760 type of pool, each with differing characteristics.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
761 This option controls whether there are any variable-size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
762 memorypools in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
763 A variable-size memorypool allocates blocks of memory of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
764 any size requested, resources permitting."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
765 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
766 cdl_option CYGNUM_UITRON_MEMPOOLVAR {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
767 display "Number of variable-size memory pools"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
768 parent CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
769 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
770 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
771 description "The number of uITRON Variable-Size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
772 Memorypools present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
773 Valid Variable-Size Memorypool IDs will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
774 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
775 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
776 cdl_component CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
777 display "Support create and delete"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
778 parent CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
779 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
780 description "Support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
781 variable-size memory pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
782 create and delete operations
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
783 (cre_mpl, del_mpl).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
784 Otherwise all variable-size mempools are created,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
785 up to the number specified above."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
786 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
787 cdl_option CYGNUM_UITRON_MEMPOOLVAR_INITIALLY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
788 display "Number of variable-size mempools created initially"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
789 parent CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
790 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
791 legal_values 0 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
792 description "The number of variable-size mempools initially created.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
793 This number should not be more than the number
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
794 of variable mempools in the system, though setting
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
795 it to a large value to mean 'all' is acceptable.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
796 Initially, only variable mempools numbered from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
797 1 to this number exist;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
798 higher numbered ones must be created before use.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
799 All mempools must be initialized to tell
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
800 the system what memory to use for each pool."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
801 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
802 cdl_option CYGDAT_UITRON_MEMPOOLVAR_EXTERNS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
803 display "Externs for initialization"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
804 parent CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
805 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
806 description "Variable mempool initializers may refer to external
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
807 objects such as memory for the pool to manage.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
808 Use this option to define or declare any external
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
809 objects needed by the pool's static initializer below.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
810 Example: create some memory for a mempool using
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
811 'static char vpool1[2000];'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
812 to set up a chunk of memory of 2000 bytes.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
813 Note: this option is invoked in the 'outermost' context
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
814 of C++ source, where global/static objects are created;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
815 it should contain valid, self-contained, C++ source."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
816 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
817 cdl_option CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
818 display "Static initializers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
819 parent CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
820 type multiline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
821 description "Variable block memory pools should be statically
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
822 initialized: enter a list of initializers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
823 separated by commas, one per line.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
824 An initializer is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
825 'CYG_UIT_MEMPOOLVAR(ADDR,SIZE)'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
826 where addr is the address of memory to manage, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
827 size is the total size of that memory.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
828 If create and delete operations are supported,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
829 initializers of the form
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
830 'CYG_UIT_MEMPOOLVAR_NOEXS(ADDR,SIZE)' should be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
831 used for pools which are not initially created, to tell
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
832 the system what memory to use for each pool.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
833 Note: this option is invoked in the context of a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
834 C++ array initializer, between curly brackets.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
835 Ensure that the number of initializers here exactly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
836 matches the total number of variable pools specified."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
837 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
838 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
839
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
840 #define CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
841 #define CYGNUM_UITRON_MEMPOOLVAR 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
842
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
843 #ifdef CYGPKG_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
844 #if 0 < CYGNUM_UITRON_MEMPOOLVAR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
845
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
846 #define CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
847
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
848 #ifdef CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
849 #define CYGNUM_UITRON_MEMPOOLVAR_INITIALLY 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
850 #endif // CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
851
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
852 #define CYGDAT_UITRON_MEMPOOLVAR_EXTERNS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
853 static char vpool1[ 2000 ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
854 vpool2[ 2000 ], \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
855 vpool3[ 2000 ];
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
856
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
857 // in terms of CYG_UIT_MEMPOOLVAR( addr, size );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
858 // [or CYG_UIT_MEMPOOLVAR_NOEXS( addr, size ) if cre/del supported]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
859 #define CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
860 CYG_UIT_MEMPOOLVAR( vpool1, 2000 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
861 CYG_UIT_MEMPOOLVAR( vpool2, 2000 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
862 CYG_UIT_MEMPOOLVAR( vpool3, 2000 ), \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
863
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
864 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
865 #endif // do we have variable memory pools?
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
866
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
867 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
868 // One-shot Alarm and Cyclic Alarm handlers:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
869 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
870 // These are declared without uninitialization; they must be defined in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
871 // order to use them.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
872
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
873
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
874 /* {{CFG_DATA
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
875 cdl_option CYGSEM_UITRON_TIME_IS_MILLISECONDS {
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
876 display "uITRON time unit is mS"
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
877 type boolean
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
878 parent CYGPKG_UITRON
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
879 requires CYGVAR_KERNEL_COUNTERS_CLOCK
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
880 description "
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
881 Setting this option enables a conversion feature so that
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
882 time parameters to uITRON APIs are converted from milliSeconds
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
883 to whatever the eCos kernel real-time clock's units are,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
884 or vice versa.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
885 If this option is not set, time parameters are expressed in
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
886 kernel clock ticks."
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
887 }
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
888 }}CFG_DATA */
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
889
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
890 #undef CYGSEM_UITRON_TIME_IS_MILLISECONDS
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
891
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 34
diff changeset
892 /* {{CFG_DATA
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
893 cdl_component CYGPKG_UITRON_ALARMS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
894 display "Alarm handlers"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
895 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
896 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
897 requires CYGVAR_KERNEL_COUNTERS_CLOCK
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
898 description "uITRON Alarm Handlers are used with functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
899 named def_alm() and ref_alm(); they support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
900 simple timing, with a function callback
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
901 at the end of the timed period."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
902 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
903 cdl_option CYGNUM_UITRON_ALARMS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
904 display "Number of alarm handlers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
905 parent CYGPKG_UITRON_ALARMS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
906 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
907 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
908 description "The number of uITRON alarm
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
909 handlers present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
910 Valid alarm handler numbers will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
911 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
912 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
913 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
914 #define CYGPKG_UITRON_ALARMS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
915 #define CYGNUM_UITRON_ALARMS 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
916 #if 0 // initializers not supported
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
917 #if 0 < CYGNUM_UITRON_ALARMS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
918 //#define CYGDAT_UITRON_ALARM_EXTERNS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
919 // in terms of ALARM( ... )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
920 //#define CYGDAT_UITRON_ALARM_INITIALIZERS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
921 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
922 #endif // NOT SUPPORTED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
923
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
924
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
925 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
926 cdl_component CYGPKG_UITRON_CYCLICS {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
927 display "Cyclic handlers"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
928 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
929 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
930 requires CYGVAR_KERNEL_COUNTERS_CLOCK
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
931 description "uITRON Cyclic Handlers are used with functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
932 named xxx_cyc(); they support timing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
933 with a periodic function callback that
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
934 can be dynamically turned on or off, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
935 resynchronized with external events."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
936 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
937 cdl_option CYGNUM_UITRON_CYCLICS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
938 display "Number cyclic handlers"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
939 parent CYGPKG_UITRON_CYCLICS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
940 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
941 legal_values 1 to 65535
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
942 description "The number of uITRON cyclics
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
943 handlers present in the system.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
944 Valid cyclic handler numbers will range
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
945 from 1 to this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
946 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
947 }}CFG_DATA */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
948 #define CYGPKG_UITRON_CYCLICS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
949 #define CYGNUM_UITRON_CYCLICS 3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
950 #if 0 // initializers not supported
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
951 #if 0 < CYGNUM_UITRON_CYCLICS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
952 //#define CYGDAT_UITRON_CYCLIC_EXTERNS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
953 // in terms of CYCLIC( ... )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
954 //#define CYGDAT_UITRON_CYCLIC_INITIALIZERS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
955 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
956 #endif // NOT SUPPORTED
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
957
34
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
958 // ------------------------------------------------------------------------
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
959 // Interrupt-safe functions [ixxx_yyy()]:
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
960 //
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
961 // These can queue up requests for execution in a DSR or maybe execute
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
962 // immediately if safe so to do.
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
963
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
964 /* {{CFG_DATA
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
965 cdl_component CYGPKG_UITRON_INTERRUPT_FUNCTIONS {
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
966 display "Interrupt-safe functions"
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
967 type dummy
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
968 parent CYGPKG_UITRON
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
969 description "The uITRON system provides some functions which may
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
970 safely be used within interrupt handlers. In eCos, this
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
971 means within ISRs, providing that the corresponding DSR is
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
972 associated with that interrupt. These functions are
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
973 typically named ixxx_yyy(), according to the uITRON
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
974 specification, for example isig_sem() corresponds to normal
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
975 function sig_sem()."
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
976
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
977 }
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
978 cdl_option CYGSEM_UITRON_ISRFUNCS_TRY_IMMEDIATE_EXECUTION {
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
979 display "Execute in ISR if safe"
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
980 parent CYGPKG_UITRON_INTERRUPT_FUNCTIONS
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
981 type boolean
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
982 description "These functions of necessity maintain a queue of
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
983 operations requested for deferred execution. However,
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
984 during an interrupt, it may be safe to perform scheduling
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
985 operations. If this option is set, the interrupt-safe
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
986 functions will have effect there and then if it is indeed
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
987 safe, rather than queueing a request to perform the
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
988 operation in the DSR."
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
989 }
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
990 cdl_option CYGNUM_UITRON_ISR_ACTION_QUEUESIZE {
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
991 display "Deferred operation queue size"
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
992 parent CYGPKG_UITRON_INTERRUPT_FUNCTIONS
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
993 type enum
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
994 legal_values 4 8 16 32 64 128 256
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
995 description "These functions of necessity maintain a queue of
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
996 operations requested for deferred execution. This option
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
997 controls the queue size. It must be a power of two for
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
998 implementation reasons."
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
999 }
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1000 }}CFG_DATA */
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1001
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1002 #define CYGSEM_UITRON_ISRFUNCS_TRY_IMMEDIATE_EXECUTION
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1003 #define CYGNUM_UITRON_ISR_ACTION_QUEUESIZE 32
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1004
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1005 // ========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1006 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1007 // uITRON VERSION INFORMATION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1008 // ------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1009
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1010 /* {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1011 cdl_component CYGPKG_UITRON_VERSION {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1012 display "Version information"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1013 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1014 parent CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1015 description "The get_ver() uITRON system call returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1016 several version related values describing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1017 the vendor, product and CPU in question
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1018 as well as the version of the uITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1019 standard supported.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1020 These values may be specified here."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1021 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1022 cdl_option CYGNUM_UITRON_VER_MAKER {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1023 display "OS maker"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1024 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1025 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1026 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1027 description "This value is returned in the 'maker'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1028 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1029 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1030 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1031 cdl_option CYGNUM_UITRON_VER_ID {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1032 display "OS identification"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1033 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1034 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1035 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1036 description "This value is returned in the 'id'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1037 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1038 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1039 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1040 cdl_option CYGNUM_UITRON_VER_SPVER {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1041 display "ITRON specification"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1042 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1043 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1044 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1045 description "This value is returned in the 'spver'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1046 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1047 response to a get_ver() system call.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1048 Do NOT change this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1049 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1050 cdl_option CYGNUM_UITRON_VER_PRVER {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1051 display "OS product version"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1052 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1053 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1054 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1055 description "This value is returned in the 'prver'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1056 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1057 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1058 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1059 # PRNO fields in own folder
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1060 cdl_component CYGPKG_UITRON_VERSION_PRNO {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1061 display "Product info"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1062 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1063 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1064 description "The get_ver() uITRON system call returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1065 several version related values describing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1066 the vendor, product and CPU in question
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1067 as well as the version of the uITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1068 standard supported.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1069 These values may be specified here."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1070 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1071 cdl_option CYGNUM_UITRON_VER_PRNO_0 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1072 display "Field 0"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1073 parent CYGPKG_UITRON_VERSION_PRNO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1074 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1075 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1076 description "This value is returned in the 'prno[0]'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1077 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1078 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1079 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1080 cdl_option CYGNUM_UITRON_VER_PRNO_1 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1081 display "Field 1"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1082 parent CYGPKG_UITRON_VERSION_PRNO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1083 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1084 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1085 description "This value is returned in the 'prno[1]'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1086 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1087 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1088 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1089 cdl_option CYGNUM_UITRON_VER_PRNO_2 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1090 display "Field 2"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1091 parent CYGPKG_UITRON_VERSION_PRNO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1092 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1093 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1094 description "This value is returned in the 'prno[2]'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1095 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1096 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1097 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1098 cdl_option CYGNUM_UITRON_VER_PRNO_3 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1099 display "Field 3"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1100 parent CYGPKG_UITRON_VERSION_PRNO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1101 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1102 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1103 description "This value is returned in the 'prno[3]'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1104 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1105 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1106 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1107 # up a level
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1108 cdl_option CYGNUM_UITRON_VER_CPU {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1109 display "CPU information"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1110 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1111 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1112 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1113 description "This value is returned in the 'cpu'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1114 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1115 response to a get_ver() system call."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1116 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1117 cdl_option CYGNUM_UITRON_VER_VAR {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1118 display "System variant"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1119 parent CYGPKG_UITRON_VERSION
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1120 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1121 legal_values 0 to 0xFFFF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1122 description "This value is returned in the 'var'
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1123 field of the T_VER structure in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1124 response to a get_ver() system call.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1125 Do NOT change this value."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1126 }
34
29bc183297e1 Merge from eCos master repository on 1999-09-02-16:26:10-BST
jlarmour
parents: 2
diff changeset
1127 }}CFG_DATA */
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1128
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1129 // these constants are returned by the get_ver API call.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1130
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1131 #define CYGNUM_UITRON_VER_MAKER 0 /* vendor */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1132 #define CYGNUM_UITRON_VER_ID 0 /* format number */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1133 #define CYGNUM_UITRON_VER_SPVER 0x5302 /* specification version */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1134 #define CYGNUM_UITRON_VER_PRVER 0x0100 /* product version */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1135 #define CYGNUM_UITRON_VER_PRNO_0 0 /* product control information */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1136 #define CYGNUM_UITRON_VER_PRNO_1 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1137 #define CYGNUM_UITRON_VER_PRNO_2 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1138 #define CYGNUM_UITRON_VER_PRNO_3 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1139 #define CYGNUM_UITRON_VER_CPU 0 /* CPU information */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1140 #define CYGNUM_UITRON_VER_VAR 0x8000 /* variation descriptor */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1141
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1142
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1143 #endif // CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1144
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1145 #endif // CYGONCE_PKGCONF_UITRON_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1146 // EOF pgkconf/uitron.h