OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rtems-20020807/] [doc/] [common/] [wksheets.t] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
@c ******   This comment is here to remind you not to edit the wksheets.t
2
@c ******   in any directory but common.
3
@c
4
@c Figures ...
5
@c   RTEMS RAM Workspace Worksheet
6
@c   RTEMS Code Space Worksheet
7
@c
8
@c  COPYRIGHT (c) 1988-2002.
9
@c  On-Line Applications Research Corporation (OAR).
10
@c  All rights reserved.
11
@c
12
@c  wksheets.t,v 1.7 2002/01/17 21:47:44 joel Exp
13
@c
14
 
15
@chapter Memory Requirements
16
 
17
@section Introduction
18
 
19
Memory is typically a limited resource in real-time
20
embedded systems, therefore, RTEMS can be configured  to utilize
21
the minimum amount of memory while meeting all of the
22
applications requirements.  Worksheets are provided which allow
23
the RTEMS application developer to determine the amount of RTEMS
24
code and RAM workspace which is required by the particular
25
configuration.  Also provided are the minimum code space,
26
maximum code space,  and the constant data space required by
27
RTEMS.
28
 
29
@section Data Space Requirements
30
 
31
RTEMS requires a small amount of memory for its
32
private variables.  This data area must be in RAM and is
33
separate from the RTEMS RAM Workspace.  The following
34
illustrates the data space required for all configurations of
35
RTEMS:
36
 
37
@itemize @bullet
38
@item Data Space: RTEMS_DATA_SPACE
39
@end itemize
40
 
41
@section Minimum and Maximum Code Space Requirements
42
 
43
A maximum configuration of RTEMS includes the core
44
and all managers, including the multiprocessing manager.
45
Conversely, a minimum configuration of RTEMS includes only the
46
core and the following managers: initialization, task, interrupt
47
and fatal error.  The following illustrates the code space
48
required by these configurations of RTEMS:
49
 
50
@itemize @bullet
51
@item Minimum Configuration: RTEMS_MINIMUM_CONFIGURATION
52
@item Maximum Configuration: RTEMS_MAXIMUM_CONFIGURATION
53
@end itemize
54
 
55
@section RTEMS Code Space Worksheet
56
 
57
The RTEMS Code Space Worksheet is a tool provided to
58
aid the RTEMS application designer to accurately calculate the
59
memory required by the RTEMS run-time environment.  RTEMS allows
60
the custom configuration of the executive by optionally
61
excluding managers which are not required by a particular
62
application.  This worksheet provides the included and excluded
63
size of each manager in tabular form allowing for the quick
64
calculation of any custom configuration of RTEMS.  The RTEMS
65
Code Space Worksheet is below:
66
 
67
@ifset use-ascii
68
@page
69
@end ifset
70
@ifset use-tex
71
@page
72
@end ifset
73
 
74
@page
75
@center @b{RTEMS Code Space Worksheet}
76
@sp 1
77
 
78
@ifset use-ascii
79
 
80
The following is a list of the components of the RTEMS code space.  The first
81
number in parentheses is the size when the component is included,
82
while the second number indicates its size when not included.  If the second
83
number is "NA", then the component must always be included.
84
 
85
@itemize @bullet
86
@item Core (RTEMS_CORE_CODE_SIZE, NA)
87
@item Initialization (RTEMS_INITIALIZATION_CODE_SIZE, NA)
88
@item Task (RTEMS_TASK_CODE_SIZE, NA)
89
@item Interrupt (RTEMS_INTERRUPT_CODE_SIZE, NA)
90
@item Clock (RTEMS_CLOCK_CODE_SIZE, NA)
91
@item Timer (RTEMS_TIMER_CODE_SIZE, RTEMS_TIMER_CODE_OPTSIZE)
92
@item Semaphore (RTEMS_SEMAPHORE_CODE_SIZE, RTEMS_SEMAPHORE_CODE_OPTSIZE)
93
@item Message (RTEMS_MESSAGE_CODE_SIZE, RTEMS_MESSAGE_CODE_OPTSIZE)
94
@item Event (RTEMS_EVENT_CODE_SIZE, RTEMS_EVENT_CODE_OPTSIZE)
95
@item Signal (RTEMS_SIGNAL_CODE_SIZE, RTEMS_SIGNAL_CODE_OPTSIZE)
96
@item Partition (RTEMS_PARTITION_CODE_SIZE, RTEMS_PARTITION_CODE_OPTSIZE)
97
@item Region (RTEMS_REGION_CODE_SIZE, RTEMS_REGION_CODE_OPTSIZE)
98
@item Dual Ported Memory (RTEMS_DPMEM_CODE_SIZE, RTEMS_DPMEM_CODE_OPTSIZE)
99
@item I/O (RTEMS_IO_CODE_SIZE, RTEMS_IO_CODE_OPTSIZE)
100
@item Fatal Error (RTEMS_FATAL_ERROR_CODE_SIZE, NA)
101
@item Rate Monotonic (RTEMS_RATE_MONOTONIC_CODE_SIZE, RTEMS_RATE_MONOTONIC_CODE_OPTSIZE)
102
@item Multiprocessing (RTEMS_MULTIPROCESSING_CODE_SIZE, RTEMS_MULTIPROCESSING_CODE_OPTSIZE)
103
@end itemize
104
@end ifset
105
 
106
@ifset use-tex
107
 
108
@tex
109
\line{\hskip 0.50in\vbox{\offinterlineskip\halign{
110
\vrule\strut#&
111
\hbox to 2.25in{\enskip\hfil#\hfil}&
112
\vrule#&
113
\hbox to 1.00in{\enskip\hfil#\hfil}&
114
\vrule#&
115
\hbox to 1.00in{\enskip\hfil#\hfil}&
116
\vrule#&
117
\hbox to 1.25in{\enskip\hfil#\hfil}&
118
\vrule#\cr
119
\noalign{\hrule}
120
&\bf Component && \bf Included && \bf Not Included && \bf Size &\cr\noalign{\hrule}
121
&Core && RTEMS_CORE_CODE_SIZE && NA && &\cr\noalign{\hrule}
122
&Initialization && RTEMS_INITIALIZATION_CODE_SIZE && NA && &\cr\noalign{\hrule}
123
&Task && RTEMS_TASK_CODE_SIZE && NA && &\cr\noalign{\hrule}
124
&Interrupt && RTEMS_INTERRUPT_CODE_SIZE && NA && &\cr\noalign{\hrule}
125
&Clock && RTEMS_CLOCK_CODE_SIZE && NA && &\cr\noalign{\hrule}
126
&Timer && RTEMS_TIMER_CODE_SIZE && RTEMS_TIMER_CODE_OPTSIZE && &\cr\noalign{\hrule}
127
&Semaphore && RTEMS_SEMAPHORE_CODE_SIZE && RTEMS_SEMAPHORE_CODE_OPTSIZE && &\cr\noalign{\hrule}
128
&Message && RTEMS_MESSAGE_CODE_SIZE && RTEMS_MESSAGE_CODE_OPTSIZE && &\cr\noalign{\hrule}
129
&Event && RTEMS_EVENT_CODE_SIZE && RTEMS_EVENT_CODE_OPTSIZE && &\cr\noalign{\hrule}
130
&Signal && RTEMS_SIGNAL_CODE_SIZE && RTEMS_SIGNAL_CODE_OPTSIZE && &\cr\noalign{\hrule}
131
&Partition && RTEMS_PARTITION_CODE_SIZE && RTEMS_PARTITION_CODE_OPTSIZE && &\cr\noalign{\hrule}
132
&Region && RTEMS_REGION_CODE_SIZE && RTEMS_REGION_CODE_OPTSIZE && &\cr\noalign{\hrule}
133
&Dual Ported Memory && RTEMS_DPMEM_CODE_SIZE && RTEMS_DPMEM_CODE_OPTSIZE && &\cr\noalign{\hrule}
134
&I/O && RTEMS_IO_CODE_SIZE && RTEMS_IO_CODE_OPTSIZE && &\cr\noalign{\hrule}
135
&Fatal Error && RTEMS_FATAL_ERROR_CODE_SIZE && NA && &\cr\noalign{\hrule}
136
&Rate Monotonic && RTEMS_RATE_MONOTONIC_CODE_SIZE && RTEMS_RATE_MONOTONIC_CODE_OPTSIZE && &\cr\noalign{\hrule}
137
&Multiprocessing && RTEMS_MULTIPROCESSING_CODE_SIZE && RTEMS_MULTIPROCESSING_CODE_OPTSIZE && &\cr\noalign{\hrule}
138
&\multispan 5 \bf\hfil Total Code Space Requirements\qquad\hfil&&&\cr\noalign{\hrule}
139
}}\hfil}
140
@end tex
141
@end ifset
142
 
143
@ifset use-html
144
@html
145
146
  
147
Component
148
    
Included
149
    
Not Included
150
    
Size
151
Core
152
    
RTEMS_CORE_CODE_SIZE
153
    
NA
154
     

155
Initialization
156
    
RTEMS_INITIALIZATION_CODE_SIZE
157
    
NA
158
     

159
Task
160
    
RTEMS_TASK_CODE_SIZE
161
    
NA
162
     

163
Interrupt
164
    
RTEMS_INTERRUPT_CODE_SIZE
165
    
NA
166
     

167
Clock
168
    
RTEMS_CLOCK_CODE_SIZE
169
    
NA
170
     

171
Timer
172
    
RTEMS_TIMER_CODE_SIZE
173
    
RTEMS_TIMER_CODE_OPTSIZE
174
     

175
Semaphore
176
    
RTEMS_SEMAPHORE_CODE_SIZE
177
    
RTEMS_SEMAPHORE_CODE_OPTSIZE
178
     

179
Message
180
    
RTEMS_MESSAGE_CODE_SIZE
181
    
RTEMS_MESSAGE_CODE_OPTSIZE
182
     

183
Event
184
    
RTEMS_EVENT_CODE_SIZE
185
    
RTEMS_EVENT_CODE_OPTSIZE
186
     

187
Signal
188
    
RTEMS_SIGNAL_CODE_SIZE
189
    
RTEMS_SIGNAL_CODE_OPTSIZE
190
     

191
Partition
192
    
RTEMS_PARTITION_CODE_SIZE
193
    
RTEMS_PARTITION_CODE_OPTSIZE
194
     

195
Region
196
    
RTEMS_REGION_CODE_SIZE
197
    
RTEMS_REGION_CODE_OPTSIZE
198
     

199
Dual Ported Memory
200
    
RTEMS_DPMEM_CODE_SIZE
201
    
RTEMS_DPMEM_CODE_OPTSIZE
202
     

203
I/O
204
    
RTEMS_IO_CODE_SIZE
205
    
RTEMS_IO_CODE_OPTSIZE
206
     

207
Fatal Error
208
    
RTEMS_FATAL_ERROR_CODE_SIZE
209
    
NA
210
     

211
Rate Monotonic
212
    
RTEMS_RATE_MONOTONIC_CODE_SIZE
213
    
RTEMS_RATE_MONOTONIC_CODE_OPTSIZE
214
     

215
Multiprocessing
216
    
RTEMS_MULTIPROCESSING_CODE_SIZE
217
    
RTEMS_MULTIPROCESSING_CODE_OPTSIZE
218
     

219
220
      Total Code Space Requirements
221
     

222
  
223
224
@end html
225
@end ifset
226
 
227
@page
228
 
229
@c ******   Next node is set by a sed script in the document Makefile.
230
@c ******   This comment is here to remind you not to edit the wksheets.t
231
@c ******   in any directory but common.
232
 
233
@section RTEMS RAM Workspace Worksheet
234
 
235
The RTEMS RAM Workspace Worksheet is a tool provided
236
to aid the RTEMS application designer to accurately calculate
237
the minimum memory block to be reserved for RTEMS use.  This
238
worksheet provides equations for calculating the amount of
239
memory required based upon the number of objects configured,
240
whether for single or multiple processor versions of the
241
executive.  This information is presented in tabular form, along
242
with the fixed system requirements, allowing for quick
243
calculation of any application defined configuration of RTEMS.
244
The RTEMS RAM Workspace Worksheet is provided below:
245
 
246
@ifset use-ascii
247
@page
248
@end ifset
249
@ifset use-tex
250
@sp 2
251
@end ifset
252
 
253
@center @b{RTEMS RAM Workspace Worksheet}
254
@sp 2
255
 
256
@ifset use-ascii
257
The total RTEMS RAM Workspace required is the sum of the following:
258
 
259
@itemize @bullet
260
@item maximum_tasks * RTEMS_BYTES_PER_TASK
261
@item maximum_timers * RTEMS_BYTES_PER_TIMER
262
@item maximum_semaphores * RTEMS_BYTES_PER_SEMAPHORE
263
@item maximum_message_queues * RTEMS_BYTES_PER_MESSAGE_QUEUE
264
@item maximum_regions * RTEMS_BYTES_PER_REGION
265
@item maximum_partitions * RTEMS_BYTES_PER_PARTITION
266
@item maximum_ports * RTEMS_BYTES_PER_PORT
267
@item maximum_periods * RTEMS_BYTES_PER_PERIOD
268
@item maximum_extensions * RTEMS_BYTES_PER_EXTENSION
269
@item Floating Point Tasks * RTEMS_BYTES_PER_FP_TASK
270
@item Task Stacks
271
@item maximum_nodes * RTEMS_BYTES_PER_NODE
272
@item maximum_global_objects * RTEMS_BYTES_PER_GLOBAL_OBJECT
273
@item maximum_proxies * RTEMS_BYTES_PER_PROXY
274
@item Fixed System Requirements of RTEMS_BYTES_OF_FIXED_SYSTEM_REQUIREMENTS
275
@end itemize
276
@end ifset
277
 
278
@ifset use-tex
279
@tex
280
\line{\hskip 0.75in\vbox{\offinterlineskip\halign{
281
\vrule\strut#&
282
\hbox to 3.0in{\enskip\hfil#\hfil}&
283
\vrule#&
284
\hbox to 0.75in{\enskip\hfil#\hfil}&
285
\vrule#&
286
\hbox to 1.25in{\enskip\hfil#\hfil}&
287
\vrule#\cr
288
\noalign{\hrule}
289
& \bf Description && \bf Equation && \bf Bytes Required &\cr\noalign{\hrule}
290
& maximum\_tasks &&  * RTEMS_BYTES_PER_TASK = &&&\cr\noalign{\hrule}
291
& maximum\_timers &&  * RTEMS_BYTES_PER_TIMER = &&&\cr\noalign{\hrule}
292
& maximum\_semaphores &&  * RTEMS_BYTES_PER_SEMAPHORE = &&&\cr\noalign{\hrule}
293
& maximum\_message\_queues &&  * RTEMS_BYTES_PER_MESSAGE_QUEUE = &&&\cr\noalign{\hrule}
294
& maximum\_regions &&  * RTEMS_BYTES_PER_REGION = &&&\cr\noalign{\hrule}
295
& maximum\_partitions &&  * RTEMS_BYTES_PER_PARTITION = &&&\cr\noalign{\hrule}
296
& maximum\_ports &&  * RTEMS_BYTES_PER_PORT = &&&\cr\noalign{\hrule}
297
& maximum\_periods &&  * RTEMS_BYTES_PER_PERIOD = &&&\cr\noalign{\hrule}
298
& maximum\_extensions &&  * RTEMS_BYTES_PER_EXTENSION = &&&\cr\noalign{\hrule}
299
& Floating Point Tasks &&  * RTEMS_BYTES_PER_FP_TASK = &&&\cr\noalign{\hrule}
300
& Task Stacks &&\hskip 2.3em=&&&\cr\noalign{\hrule}
301
& Total Single Processor Requirements &&&&&\cr\noalign{\hrule}
302
}}\hfil}
303
 
304
\line{\hskip 0.75in\vbox{\offinterlineskip\halign{
305
\vrule\strut#&
306
\hbox to 3.0in{\enskip\hfil#\hfil}&
307
\vrule#&
308
\hbox to 0.75in{\enskip\hfil#\hfil}&
309
\vrule#&
310
\hbox to 1.25in{\enskip\hfil#\hfil}&
311
\vrule#\cr
312
\noalign{\hrule}
313
& \bf Description && \bf Equation && \bf Bytes Required &\cr\noalign{\hrule}
314
& maximum\_nodes &&  * RTEMS_BYTES_PER_NODE = &&&\cr\noalign{\hrule}
315
& maximum\_global\_objects &&  * RTEMS_BYTES_PER_GLOBAL_OBJECT = &&&\cr\noalign{\hrule}
316
& maximum\_proxies &&  * RTEMS_BYTES_PER_PROXY = &&&\cr\noalign{\hrule}
317
}}\hfil}
318
 
319
\line{\hskip 0.75in\vbox{\offinterlineskip\halign{
320
\vrule\strut#&
321
\hbox to 3.0in{\enskip\hfil#\hfil}&
322
\vrule#&
323
\hbox to 0.75in{\enskip\hfil#\hfil}&
324
\vrule#&
325
\hbox to 1.25in{\enskip\hfil#\hfil}&
326
\vrule#\cr
327
\noalign{\hrule}
328
& Total Multiprocessing Requirements &&&&&\cr\noalign{\hrule}
329
& Fixed System Requirements && RTEMS_BYTES_OF_FIXED_SYSTEM_REQUIREMENTS &&&\cr\noalign{\hrule}
330
& Total Single Processor Requirements &&&&&\cr\noalign{\hrule}
331
& Total Multiprocessing Requirements &&&&&\cr\noalign{\hrule}
332
& Minimum Bytes for RTEMS Workspace &&&&&\cr\noalign{\hrule}
333
}}\hfil}
334
@end tex
335
@end ifset
336
 
337
@ifset use-html
338
@html
339
340
  
341
Description
342
    
Equation
343
    
Bytes Required
344
maximum_tasks
345
    
* RTEMS_BYTES_PER_TASK =
346
     

347
maximum_timers
348
    
* RTEMS_BYTES_PER_TIMER =
349
     

350
maximum_semaphores
351
    
* RTEMS_BYTES_PER_SEMAPHORE =
352
     

353
maximum_message_queues
354
    
* RTEMS_BYTES_PER_MESSAGE_QUEUE =
355
     

356
maximum_regions
357
    
* RTEMS_BYTES_PER_REGION =
358
     

359
maximum_partitions
360
    
* RTEMS_BYTES_PER_PARTITION =
361
     

362
maximum_ports
363
    
* RTEMS_BYTES_PER_PORT =
364
     

365
maximum_periods
366
    
* RTEMS_BYTES_PER_PERIOD =
367
     

368
maximum_extensions
369
    
* RTEMS_BYTES_PER_EXTENSION =
370
     

371
Floating Point Tasks
372
    
* RTEMS_BYTES_PER_FP_TASK =
373
     

374
Task Stacks
375
     

376
377
      Total Single Processor Requirements
378
     

379
380
Description
381
    
Equation
382
    
Bytes Required
383
maximum_nodes
384
    
* RTEMS_BYTES_PER_NODE =
385
     

386
maximum_global_objects
387
    
* RTEMS_BYTES_PER_GLOBAL_OBJECT =
388
     

389
maximum_proxies
390
    
* RTEMS_BYTES_PER_PROXY =
391
     

392
393
      Total Multiprocessing Requirements
394
     

395
396
Fixed System Requirements
397
    
RTEMS_BYTES_OF_FIXED_SYSTEM_REQUIREMENTS
398
Total Single Processor Requirements
399
     

400
Total Multiprocessing Requirements
401
     

402
403
      Minimum Bytes for RTEMS Workspace
404
     

405
  
406
407
@end html
408
@end ifset
409
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.