]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/user-guide/rt-arm-pid.html
Initial revision
[karo-tx-redboot.git] / doc / html / user-guide / rt-arm-pid.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Board: ARM PID Evaluation Board</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
21 REL="UP"
22 TITLE="Real-time characterization"
23 HREF="real-time-characterization.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Board: Cirrus Logic EDB7111-2 Development Board"
26 HREF="rt-arm-ep7211.html"><LINK
27 REL="NEXT"
28 TITLE="Board: Intel IQ80310 XScale Development Kit"
29 HREF="rt-arm-iq80310.html"></HEAD
30 ><BODY
31 CLASS="SECT1"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos User Guide</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="rt-arm-ep7211.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 >Appendix B. Real-time characterization</TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="rt-arm-iq80310.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="SECT1"
82 ><H1
83 CLASS="SECT1"
84 ><A
85 NAME="RT-ARM-PID">Board: ARM PID Evaluation Board</H1
86 ><DIV
87 CLASS="SECT2"
88 ><H2
89 CLASS="SECT2"
90 ><A
91 NAME="AEN4508">CPU :  ARM 7TDMI 20 MHz</H2
92 ><TABLE
93 BORDER="5"
94 BGCOLOR="#E0E0F0"
95 WIDTH="70%"
96 ><TR
97 ><TD
98 ><PRE
99 CLASS="LITERALLAYOUT"
100 >Board: ARM PID Evaluation Board
101
102 CPU :  ARM 7TDMI 20 MHz
103
104
105
106 Startup, main stack             : stack used   404 size  2400
107 Startup              :  Interrupt stack used   136 size  4096
108 Startup              : Idlethread stack used    84 size  2048
109
110 eCos Kernel Timings
111 Notes: all times are in microseconds (.000001) unless otherwise stated
112
113 Reading the hardware clock takes 6 'ticks' overhead
114 ... this value will be factored out of all other measurements
115 Clock interrupt took  120.74 microseconds (150 raw clock ticks)
116
117 Testing parameters:
118    Clock samples:            32
119    Threads:                  50
120    Thread switches:         128
121    Mutexes:                  32
122    Mailboxes:                32
123    Semaphores:               32
124    Scheduler operations:    128
125    Counters:                 32
126    Alarms:                   32
127
128
129                                  Confidence
130      Ave     Min     Max     Var  Ave  Min  Function
131   ======  ======  ======  ====== ========== ========
132    99.01   68.00  129.60   15.62   50%  26% Create thread
133    21.60   21.60   21.60    0.00  100% 100% Yield thread [all suspended]
134    15.65   15.20   16.00    0.39   56%  44% Suspend [suspended] thread
135    15.79   15.20   16.00    0.31   74%  26% Resume thread
136    23.65   23.20   24.00    0.39   56%  44% Set priority
137     2.26    1.60    2.40    0.24   82%  18% Get priority
138    51.39   51.20   52.00    0.29   76%  76% Kill [suspended] thread
139    21.60   21.60   21.60    0.00  100% 100% Yield [no other] thread
140    29.47   28.00   29.60    0.22   86%   2% Resume [suspended low prio] thread
141    15.60   15.20   16.00    0.40  100%  50% Resume [runnable low prio] thread
142    27.73   24.00   28.00    0.40   74%   2% Suspend [runnable] thread
143    21.60   21.60   21.60    0.00  100% 100% Yield [only low prio] thread
144    15.65   15.20   16.00    0.39   56%  44% Suspend [runnable-&#62;not runnable]
145    51.39   51.20   52.00    0.29   76%  76% Kill [runnable] thread
146    27.66   27.20   28.80    0.41   54%  44% Destroy [dead] thread
147    68.93   64.80   69.60    0.35   72%   2% Destroy [runnable] thread
148    91.26   90.40  107.20    0.64   66%  32% Resume [high priority] thread
149    49.14   48.80   49.60    0.39   57%  57% Thread switch
150
151     2.20    1.60    2.40    0.30   75%  25% Scheduler lock
152    10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [0 threads]
153    10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [1 suspended]
154    10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [many suspended]
155    10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [many low prio]
156
157     6.85    6.40    7.20    0.39   56%  43% Init mutex
158    18.40   18.40   18.40    0.00  100% 100% Lock [unlocked] mutex
159    19.57   19.20   20.00    0.40   53%  53% Unlock [locked] mutex
160    16.55   16.00   16.80    0.34   68%  31% Trylock [unlocked] mutex
161    14.55   14.40   15.20    0.24   81%  81% Trylock [locked] mutex
162     3.55    3.20    4.00    0.39   56%  56% Destroy mutex
163   119.85  119.20  120.00    0.24   81%  18% Unlock/Lock mutex
164
165    12.85   12.80   13.60    0.09   93%  93% Create mbox
166     1.65    1.60    2.40    0.09   93%  93% Peek [empty] mbox
167    20.70   20.00   20.80    0.17   87%  12% Put [first] mbox
168     1.65    1.60    2.40    0.09   93%  93% Peek [1 msg] mbox
169    20.70   20.00   20.80    0.17   87%  12% Put [second] mbox
170     1.65    1.60    2.40    0.09   93%  93% Peek [2 msgs] mbox
171    20.85   20.80   21.60    0.09   93%  93% Get [first] mbox
172    20.85   20.80   21.60    0.09   93%  93% Get [second] mbox
173    19.90   19.20   20.00    0.17   87%  12% Tryput [first] mbox
174    17.60   17.60   17.60    0.00  100% 100% Peek item [non-empty] mbox
175    20.90   20.80   21.60    0.17   87%  87% Tryget [non-empty] mbox
176    16.80   16.80   16.80    0.00  100% 100% Peek item [empty] mbox
177    17.65   17.60   18.40    0.09   93%  93% Tryget [empty] mbox
178     1.85    1.60    2.40    0.34   68%  68% Waiting to get mbox
179     1.85    1.60    2.40    0.34   68%  68% Waiting to put mbox
180    19.40   19.20   20.00    0.30   75%  75% Delete mbox
181    65.05   64.80   65.60    0.34   68%  68% Put/Get mbox
182
183     7.05    6.40    7.20    0.24   81%  18% Init semaphore
184    15.55   15.20   16.00    0.39   56%  56% Post [0] semaphore
185    17.35   16.80   17.60    0.34   68%  31% Wait [1] semaphore
186    14.60   14.40   15.20    0.30   75%  75% Trywait [0] semaphore
187    14.20   13.60   14.40    0.30   75%  25% Trywait [1] semaphore
188     4.55    4.00    4.80    0.34   68%  31% Peek semaphore
189     3.75    3.20    4.00    0.34   68%  31% Destroy semaphore
190    70.85   70.40   71.20    0.39   56%  43% Post/Wait semaphore
191
192     6.05    5.60    6.40    0.39   56%  43% Create counter
193     2.25    1.60    2.40    0.24   81%  18% Get counter value
194     2.25    1.60    2.40    0.24   81%  18% Set counter value
195    19.70   19.20   20.00    0.37   62%  37% Tick counter
196     3.45    3.20    4.00    0.34   68%  68% Delete counter
197
198     9.05    8.80    9.60    0.34   68%  68% Create alarm
199    29.60   29.60   29.60    0.00  100% 100% Initialize alarm
200     2.15    1.60    2.40    0.34   68%  31% Disable alarm
201    29.35   28.80   29.60    0.34   68%  31% Enable alarm
202     5.10    4.80    5.60    0.37   62%  62% Delete alarm
203    23.20   23.20   23.20    0.00  100% 100% Tick counter [1 alarm]
204   138.00  137.60  138.40    0.40  100%  50% Tick counter [many alarms]
205    40.40   40.00   40.80    0.40  100%  50% Tick &#38; fire counter [1 alarm]
206   704.25  697.60  804.00   12.47   93%  93% Tick &#38; fire counters [&#62;1 together]
207   155.20  155.20  155.20    0.00  100% 100% Tick &#38; fire counters [&#62;1 separately]
208   105.20  104.80  151.20    0.76   99%  94% Alarm latency [0 threads]
209   117.57  104.80  149.60    7.13   57%  25% Alarm latency [2 threads]
210   117.49  104.80  148.80    7.10   58%  26% Alarm latency [many threads]
211   192.59  177.60  316.00    1.93   98%   0% Alarm -&#62; thread resume latency
212
213    22.10   21.60   24.00    0.00            Clock/interrupt latency
214
215    38.69   32.80   61.60    0.00            Clock DSR latency
216
217   297     276     316  (main stack:   752)  Thread stack used (1120 total)
218 All done, main stack            : stack used   752 size  2400
219 All done             :  Interrupt stack used   288 size  4096
220 All done             : Idlethread stack used   272 size  2048
221
222 Timing complete - 30350 ms total
223
224 PASS:&lt;Basic timing OK&#62;
225 EXIT:&lt;done&#62;
226
227           </PRE
228 ></TD
229 ></TR
230 ></TABLE
231 ></DIV
232 ><DIV
233 CLASS="SECT2"
234 ><H2
235 CLASS="SECT2"
236 ><A
237 NAME="AEN4511">CPU :  ARM 920T 20 MHz</H2
238 ><TABLE
239 BORDER="5"
240 BGCOLOR="#E0E0F0"
241 WIDTH="70%"
242 ><TR
243 ><TD
244 ><PRE
245 CLASS="LITERALLAYOUT"
246 >&#13;Board: ARM PID Evaluation Board
247
248 CPU :  ARM 920T 20 MHz
249
250
251 Startup, main stack             : stack used   404 size  2400
252 Startup              :  Interrupt stack used   136 size  4096
253 Startup              : Idlethread stack used    84 size  2048
254
255 eCos Kernel Timings
256 Notes: all times are in microseconds (.000001) unless otherwise stated
257
258 Reading the hardware clock takes 15 'ticks' overhead
259 ... this value will be factored out of all other measurements
260 Clock interrupt took  291.41 microseconds (364 raw clock ticks)
261
262 Testing parameters:
263    Clock samples:            32
264    Threads:                  50
265    Thread switches:         128
266    Mutexes:                  32
267    Mailboxes:                32
268    Semaphores:               32
269    Scheduler operations:    128
270    Counters:                 32
271    Alarms:                   32
272
273
274                                  Confidence
275      Ave     Min     Max     Var  Ave  Min  Function
276   ======  ======  ======  ====== ========== ========
277   257.78  168.00  568.00   48.70   56%  28% Create thread
278    50.21   49.60   50.40    0.29   76%  24% Yield thread [all suspended]
279    36.26   36.00   36.80    0.35   68%  68% Suspend [suspended] thread
280    37.20   36.80   37.60    0.40  100%  50% Resume thread
281    56.24   56.00   56.80    0.34   70%  70% Set priority
282     5.20    4.80    5.60    0.40  100%  50% Get priority
283   122.75  122.40  123.20    0.39   56%  56% Kill [suspended] thread
284    50.19   49.60   50.40    0.31   74%  26% Yield [no other] thread
285    69.49   66.40   69.60    0.21   92%   2% Resume [suspended low prio] thread
286    37.01   36.80   37.60    0.31   74%  74% Resume [runnable low prio] thread
287    64.75   55.20   65.60    0.38   80%   2% Suspend [runnable] thread
288    50.19   49.60   50.40    0.31   74%  26% Yield [only low prio] thread
289    36.24   36.00   36.80    0.34   70%  70% Suspend [runnable-&#62;not runnable]
290   122.75  122.40  123.20    0.39   56%  56% Kill [runnable] thread
291    67.76   67.20   68.00    0.34   70%  30% Destroy [dead] thread
292   167.07  158.40  168.00    0.35   92%   2% Destroy [runnable] thread
293   213.49  212.00  249.60    1.46   84%  90% Resume [high priority] thread
294   122.81  120.00  389.60    4.17   99%  99% Thread switch
295
296     4.70    4.00    4.80    0.17   87%  12% Scheduler lock
297    23.70   23.20   24.00    0.37   62%  37% Scheduler unlock [0 threads]
298    23.60   23.20   24.00    0.40  100%  50% Scheduler unlock [1 suspended]
299    23.70   23.20   24.00    0.37   62%  37% Scheduler unlock [many suspended]
300    23.60   23.20   24.00    0.40  100%  50% Scheduler unlock [many low prio]
301
302    15.65   15.20   16.00    0.39   56%  43% Init mutex
303    42.40   42.40   42.40    0.00  100% 100% Lock [unlocked] mutex
304    45.37   44.80   46.40    0.36   65%  31% Unlock [locked] mutex
305    39.20   39.20   39.20    0.00  100% 100% Trylock [unlocked] mutex
306    34.45   34.40   35.20    0.09   93%  93% Trylock [locked] mutex
307     8.00    8.00    8.00    0.00  100% 100% Destroy mutex
308   284.42  284.00  284.80    0.40   53%  46% Unlock/Lock mutex
309
310    29.40   28.80   29.60    0.30   75%  25% Create mbox
311     3.35    3.20    4.00    0.24   81%  81% Peek [empty] mbox
312    49.35   48.80   49.60    0.34   68%  31% Put [first] mbox
313     3.35    3.20    4.00    0.24   81%  81% Peek [1 msg] mbox
314    49.35   48.80   49.60    0.34   68%  31% Put [second] mbox
315     3.35    3.20    4.00    0.24   81%  81% Peek [2 msgs] mbox
316    49.15   48.80   49.60    0.39   56%  56% Get [first] mbox
317    49.15   48.80   49.60    0.39   56%  56% Get [second] mbox
318    47.80   47.20   48.00    0.30   75%  25% Tryput [first] mbox
319    41.40   40.80   41.60    0.30   75%  25% Peek item [non-empty] mbox
320    49.40   48.80   49.60    0.30   75%  25% Tryget [non-empty] mbox
321    40.15   40.00   40.80    0.24   81%  81% Peek item [empty] mbox
322    40.95   40.80   41.60    0.24   81%  81% Tryget [empty] mbox
323     4.05    4.00    4.80    0.09   93%  93% Waiting to get mbox
324     4.05    4.00    4.80    0.09   93%  93% Waiting to put mbox
325    45.60   45.60   45.60    0.00  100% 100% Delete mbox
326   153.27  152.80  153.60    0.39   59%  40% Put/Get mbox
327
328    16.80   16.80   16.80    0.00  100% 100% Init semaphore
329    36.60   36.00   36.80    0.30   75%  25% Post [0] semaphore
330    39.60   39.20   40.00    0.40  100%  50% Wait [1] semaphore
331    34.80   34.40   35.20    0.40  100%  50% Trywait [0] semaphore
332    33.35   32.80   33.60    0.34   68%  31% Trywait [1] semaphore
333    10.30    9.60   10.40    0.17   87%  12% Peek semaphore
334     8.80    8.80    8.80    0.00  100% 100% Destroy semaphore
335   166.92  166.40  167.20    0.36   65%  34% Post/Wait semaphore
336
337    13.60   13.60   13.60    0.00  100% 100% Create counter
338     4.85    4.80    5.60    0.09   93%  93% Get counter value
339     4.80    4.80    4.80    0.00  100% 100% Set counter value
340    45.25   44.80   45.60    0.39   56%  43% Tick counter
341     7.75    7.20    8.00    0.34   68%  31% Delete counter
342
343    20.80   20.80   20.80    0.00  100% 100% Create alarm
344    69.30   68.80   69.60    0.37   62%  37% Initialize alarm
345     4.80    4.80    4.80    0.00  100% 100% Disable alarm
346    67.35   67.20   68.00    0.24   81%  81% Enable alarm
347    11.80   11.20   12.00    0.30   75%  25% Delete alarm
348    54.80   54.40   55.20    0.40  100%  50% Tick counter [1 alarm]
349   372.35  363.20  652.80   17.53   96%  96% Tick counter [many alarms]
350    95.50   95.20   96.00    0.37   62%  62% Tick &#38; fire counter [1 alarm]
351  1757.92 1707.20 1996.80   81.43   81%  81% Tick &#38; fire counters [&#62;1 together]
352   404.37  404.00  404.80    0.40   53%  53% Tick &#38; fire counters [&#62;1 separately]
353   256.57  254.40  395.20    2.17   98%  97% Alarm latency [0 threads]
354   296.60  255.20  359.20   23.53   53%  31% Alarm latency [2 threads]
355   307.49  265.60  357.60   27.52   53%  53% Alarm latency [many threads]
356   467.04  432.00  788.80    5.03   97%   1% Alarm -&#62; thread resume latency
357
358    55.63   54.40   60.80    0.00            Clock/interrupt latency
359
360   101.23   80.80 1433.60    0.00            Clock DSR latency
361
362   316     316     316  (main stack:   752)  Thread stack used (1120 total)
363 All done, main stack            : stack used   752 size  2400
364 All done             :  Interrupt stack used   288 size  4096
365 All done             : Idlethread stack used   272 size  2048
366
367 Timing complete - 30780 ms total
368
369 PASS:&lt;Basic timing OK&#62;
370 EXIT:&lt;done&#62;
371           </PRE
372 ></TD
373 ></TR
374 ></TABLE
375 ></DIV
376 ></DIV
377 ><DIV
378 CLASS="NAVFOOTER"
379 ><HR
380 ALIGN="LEFT"
381 WIDTH="100%"><TABLE
382 SUMMARY="Footer navigation table"
383 WIDTH="100%"
384 BORDER="0"
385 CELLPADDING="0"
386 CELLSPACING="0"
387 ><TR
388 ><TD
389 WIDTH="33%"
390 ALIGN="left"
391 VALIGN="top"
392 ><A
393 HREF="rt-arm-ep7211.html"
394 ACCESSKEY="P"
395 >Prev</A
396 ></TD
397 ><TD
398 WIDTH="34%"
399 ALIGN="center"
400 VALIGN="top"
401 ><A
402 HREF="ecos-user-guide.html"
403 ACCESSKEY="H"
404 >Home</A
405 ></TD
406 ><TD
407 WIDTH="33%"
408 ALIGN="right"
409 VALIGN="top"
410 ><A
411 HREF="rt-arm-iq80310.html"
412 ACCESSKEY="N"
413 >Next</A
414 ></TD
415 ></TR
416 ><TR
417 ><TD
418 WIDTH="33%"
419 ALIGN="left"
420 VALIGN="top"
421 >Board: Cirrus Logic EDB7111-2 Development Board</TD
422 ><TD
423 WIDTH="34%"
424 ALIGN="center"
425 VALIGN="top"
426 ><A
427 HREF="real-time-characterization.html"
428 ACCESSKEY="U"
429 >Up</A
430 ></TD
431 ><TD
432 WIDTH="33%"
433 ALIGN="right"
434 VALIGN="top"
435 >Board: Intel IQ80310 XScale Development Kit</TD
436 ></TR
437 ></TABLE
438 ></DIV
439 ></BODY
440 ></HTML
441 >