| 1 |
28 |
unneback |
<!-- 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: NEC V850 Cosmo 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: NEC V850 Cosmo Evaluation Board"
|
| 26 |
|
|
HREF="rt-v850-cebsa1.html"><LINK
|
| 27 |
|
|
REL="NEXT"
|
| 28 |
|
|
TITLE="GNU General Public License"
|
| 29 |
|
|
HREF="gnu-general-public-license.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-v850-cebsa1.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="gnu-general-public-license.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-V850-CEBSB1">Board: NEC V850 Cosmo Evaluation Board</H1
|
| 86 |
|
|
><TABLE
|
| 87 |
|
|
BORDER="5"
|
| 88 |
|
|
BGCOLOR="#E0E0F0"
|
| 89 |
|
|
WIDTH="70%"
|
| 90 |
|
|
><TR
|
| 91 |
|
|
><TD
|
| 92 |
|
|
><PRE
|
| 93 |
|
|
CLASS="LITERALLAYOUT"
|
| 94 |
|
|
>Board: NEC V850 Cosmo Evaluation Board
|
| 95 |
|
|
|
| 96 |
|
|
CPU: NEC CEB-V850/SB1 16MHz (in internal Flash)
|
| 97 |
|
|
|
| 98 |
|
|
|
| 99 |
|
|
Startup, main stack : stack used 572 size 2936
|
| 100 |
|
|
Startup : Interrupt stack used 132 size 4096
|
| 101 |
|
|
Startup : Idlethread stack used 210 size 2048
|
| 102 |
|
|
|
| 103 |
|
|
eCos Kernel Timings
|
| 104 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
| 105 |
|
|
|
| 106 |
|
|
Reading the hardware clock takes 8 'ticks' overhead
|
| 107 |
|
|
... this value will be factored out of all other measurements
|
| 108 |
|
|
Clock interrupt took 118.15 microseconds (472 raw clock ticks)
|
| 109 |
|
|
|
| 110 |
|
|
Testing parameters:
|
| 111 |
|
|
Clock samples: 32
|
| 112 |
|
|
Threads: 7
|
| 113 |
|
|
Thread switches: 128
|
| 114 |
|
|
Mutexes: 32
|
| 115 |
|
|
Mailboxes: 32
|
| 116 |
|
|
Semaphores: 32
|
| 117 |
|
|
Scheduler operations: 128
|
| 118 |
|
|
Counters: 32
|
| 119 |
|
|
Alarms: 32
|
| 120 |
|
|
|
| 121 |
|
|
|
| 122 |
|
|
Confidence
|
| 123 |
|
|
Ave Min Max Var Ave Min Function
|
| 124 |
|
|
====== ====== ====== ====== ========== ========
|
| 125 |
|
|
113.68 111.00 116.50 1.63 42% 28% Create thread
|
| 126 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield thread [all suspended]
|
| 127 |
|
|
29.57 29.50 29.75 0.10 71% 71% Suspend [suspended] thread
|
| 128 |
|
|
27.43 27.25 27.50 0.10 71% 28% Resume thread
|
| 129 |
|
|
34.11 34.00 34.25 0.12 57% 57% Set priority
|
| 130 |
|
|
1.57 1.50 1.75 0.10 71% 71% Get priority
|
| 131 |
|
|
72.96 72.75 73.00 0.06 85% 14% Kill [suspended] thread
|
| 132 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield [no other] thread
|
| 133 |
|
|
42.75 42.75 42.75 0.00 100% 100% Resume [suspended low prio] thread
|
| 134 |
|
|
27.00 27.00 27.00 0.00 100% 100% Resume [runnable low prio] thread
|
| 135 |
|
|
43.64 41.25 44.25 0.68 85% 14% Suspend [runnable] thread
|
| 136 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield [only low prio] thread
|
| 137 |
|
|
29.57 29.50 29.75 0.10 71% 71% Suspend [runnable->not runnable]
|
| 138 |
|
|
72.93 72.75 73.00 0.10 71% 28% Kill [runnable] thread
|
| 139 |
|
|
44.89 44.75 45.75 0.24 85% 85% Destroy [dead] thread
|
| 140 |
|
|
103.00 101.50 103.25 0.43 85% 14% Destroy [runnable] thread
|
| 141 |
|
|
175.21 171.50 197.50 6.37 85% 85% Resume [high priority] thread
|
| 142 |
|
|
84.11 79.50 197.25 1.77 98% 0% Thread switch
|
| 143 |
|
|
|
| 144 |
|
|
1.00 1.00 1.00 0.00 100% 100% Scheduler lock
|
| 145 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [0 threads]
|
| 146 |
|
|
20.00 20.00 20.00 0.00 100% 100% Scheduler unlock [1 suspended]
|
| 147 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [many suspended]
|
| 148 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [many low prio]
|
| 149 |
|
|
|
| 150 |
|
|
4.00 4.00 4.00 0.00 100% 100% Init mutex
|
| 151 |
|
|
33.00 33.00 33.00 0.00 100% 100% Lock [unlocked] mutex
|
| 152 |
|
|
36.77 36.75 37.25 0.03 96% 96% Unlock [locked] mutex
|
| 153 |
|
|
28.13 28.00 28.25 0.13 100% 50% Trylock [unlocked] mutex
|
| 154 |
|
|
25.13 25.00 25.25 0.13 100% 50% Trylock [locked] mutex
|
| 155 |
|
|
4.88 4.75 5.00 0.13 100% 50% Destroy mutex
|
| 156 |
|
|
187.00 187.00 187.00 0.00 100% 100% Unlock/Lock mutex
|
| 157 |
|
|
|
| 158 |
|
|
10.00 10.00 10.00 0.00 100% 100% Create mbox
|
| 159 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [empty] mbox
|
| 160 |
|
|
34.75 34.75 34.75 0.00 100% 100% Put [first] mbox
|
| 161 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [1 msg] mbox
|
| 162 |
|
|
35.00 35.00 35.00 0.00 100% 100% Put [second] mbox
|
| 163 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [2 msgs] mbox
|
| 164 |
|
|
36.00 36.00 36.00 0.00 100% 100% Get [first] mbox
|
| 165 |
|
|
36.00 36.00 36.00 0.00 100% 100% Get [second] mbox
|
| 166 |
|
|
31.00 31.00 31.00 0.00 100% 100% Tryput [first] mbox
|
| 167 |
|
|
29.50 29.50 29.50 0.00 100% 100% Peek item [non-empty] mbox
|
| 168 |
|
|
35.25 35.25 35.25 0.00 100% 100% Tryget [non-empty] mbox
|
| 169 |
|
|
27.69 27.50 27.75 0.09 75% 25% Peek item [empty] mbox
|
| 170 |
|
|
31.06 31.00 31.25 0.09 75% 75% Tryget [empty] mbox
|
| 171 |
|
|
0.94 0.75 1.00 0.09 75% 25% Waiting to get mbox
|
| 172 |
|
|
0.94 0.75 1.00 0.09 75% 25% Waiting to put mbox
|
| 173 |
|
|
37.81 37.75 38.00 0.09 75% 75% Delete mbox
|
| 174 |
|
|
112.00 112.00 112.00 0.00 100% 100% Put/Get mbox
|
| 175 |
|
|
|
| 176 |
|
|
3.19 3.00 3.25 0.09 75% 25% Init semaphore
|
| 177 |
|
|
25.38 25.25 25.50 0.13 100% 50% Post [0] semaphore
|
| 178 |
|
|
32.63 32.50 32.75 0.13 100% 50% Wait [1] semaphore
|
| 179 |
|
|
24.25 24.25 24.25 0.00 100% 100% Trywait [0] semaphore
|
| 180 |
|
|
25.00 25.00 25.00 0.00 100% 100% Trywait [1] semaphore
|
| 181 |
|
|
4.00 4.00 4.00 0.00 100% 100% Peek semaphore
|
| 182 |
|
|
4.88 4.75 5.00 0.13 100% 50% Destroy semaphore
|
| 183 |
|
|
124.50 124.50 124.50 0.00 100% 100% Post/Wait semaphore
|
| 184 |
|
|
|
| 185 |
|
|
6.50 6.50 6.50 0.00 100% 100% Create counter
|
| 186 |
|
|
1.25 1.25 1.25 0.00 100% 100% Get counter value
|
| 187 |
|
|
1.44 1.25 1.50 0.09 75% 25% Set counter value
|
| 188 |
|
|
36.25 36.25 36.25 0.00 100% 100% Tick counter
|
| 189 |
|
|
5.25 5.25 5.25 0.00 100% 100% Delete counter
|
| 190 |
|
|
|
| 191 |
|
|
12.25 12.25 12.25 0.00 100% 100% Create alarm
|
| 192 |
|
|
49.13 49.00 49.25 0.13 100% 50% Initialize alarm
|
| 193 |
|
|
2.81 2.75 3.00 0.09 75% 75% Disable alarm
|
| 194 |
|
|
48.50 48.50 48.50 0.00 100% 100% Enable alarm
|
| 195 |
|
|
8.25 8.25 8.25 0.00 100% 100% Delete alarm
|
| 196 |
|
|
46.50 46.50 46.50 0.00 100% 100% Tick counter [1 alarm]
|
| 197 |
|
|
485.42 482.25 580.00 5.91 96% 96% Tick counter [many alarms]
|
| 198 |
|
|
64.00 64.00 64.00 0.00 100% 100% Tick & fire counter [1 alarm]
|
| 199 |
|
|
1109.76 1100.50 1198.00 16.53 90% 90% Tick & fire counters [>1 together]
|
| 200 |
|
|
505.85 502.00 621.00 7.20 96% 96% Tick & fire counters [>1 separately]
|
| 201 |
|
|
96.26 95.75 161.25 1.02 99% 99% Alarm latency [0 threads]
|
| 202 |
|
|
159.20 95.75 160.75 2.52 97% 0% Alarm latency [2 threads]
|
| 203 |
|
|
159.73 110.50 161.75 1.53 97% 0% Alarm latency [many threads]
|
| 204 |
|
|
218.45 211.25 445.75 3.55 97% 1% Alarm -> thread resume latency
|
| 205 |
|
|
|
| 206 |
|
|
28.24 25.25 43.25 0.00 Clock/interrupt latency
|
| 207 |
|
|
|
| 208 |
|
|
60.15 40.50 221.50 0.00 Clock DSR latency
|
| 209 |
|
|
|
| 210 |
|
|
472 424 572 (main stack: 1052) Thread stack used (1912 total)
|
| 211 |
|
|
All done, main stack : stack used 1052 size 2936
|
| 212 |
|
|
All done : Interrupt stack used 280 size 4096
|
| 213 |
|
|
All done : Idlethread stack used 516 size 2048
|
| 214 |
|
|
|
| 215 |
|
|
Timing complete - 30590 ms total
|
| 216 |
|
|
|
| 217 |
|
|
PASS:<Basic timing OK>
|
| 218 |
|
|
EXIT:<done> </PRE
|
| 219 |
|
|
></TD
|
| 220 |
|
|
></TR
|
| 221 |
|
|
></TABLE
|
| 222 |
|
|
></DIV
|
| 223 |
|
|
><DIV
|
| 224 |
|
|
CLASS="NAVFOOTER"
|
| 225 |
|
|
><HR
|
| 226 |
|
|
ALIGN="LEFT"
|
| 227 |
|
|
WIDTH="100%"><TABLE
|
| 228 |
|
|
SUMMARY="Footer navigation table"
|
| 229 |
|
|
WIDTH="100%"
|
| 230 |
|
|
BORDER="0"
|
| 231 |
|
|
CELLPADDING="0"
|
| 232 |
|
|
CELLSPACING="0"
|
| 233 |
|
|
><TR
|
| 234 |
|
|
><TD
|
| 235 |
|
|
WIDTH="33%"
|
| 236 |
|
|
ALIGN="left"
|
| 237 |
|
|
VALIGN="top"
|
| 238 |
|
|
><A
|
| 239 |
|
|
HREF="rt-v850-cebsa1.html"
|
| 240 |
|
|
ACCESSKEY="P"
|
| 241 |
|
|
>Prev</A
|
| 242 |
|
|
></TD
|
| 243 |
|
|
><TD
|
| 244 |
|
|
WIDTH="34%"
|
| 245 |
|
|
ALIGN="center"
|
| 246 |
|
|
VALIGN="top"
|
| 247 |
|
|
><A
|
| 248 |
|
|
HREF="ecos-user-guide.html"
|
| 249 |
|
|
ACCESSKEY="H"
|
| 250 |
|
|
>Home</A
|
| 251 |
|
|
></TD
|
| 252 |
|
|
><TD
|
| 253 |
|
|
WIDTH="33%"
|
| 254 |
|
|
ALIGN="right"
|
| 255 |
|
|
VALIGN="top"
|
| 256 |
|
|
><A
|
| 257 |
|
|
HREF="gnu-general-public-license.html"
|
| 258 |
|
|
ACCESSKEY="N"
|
| 259 |
|
|
>Next</A
|
| 260 |
|
|
></TD
|
| 261 |
|
|
></TR
|
| 262 |
|
|
><TR
|
| 263 |
|
|
><TD
|
| 264 |
|
|
WIDTH="33%"
|
| 265 |
|
|
ALIGN="left"
|
| 266 |
|
|
VALIGN="top"
|
| 267 |
|
|
>Board: NEC V850 Cosmo Evaluation Board</TD
|
| 268 |
|
|
><TD
|
| 269 |
|
|
WIDTH="34%"
|
| 270 |
|
|
ALIGN="center"
|
| 271 |
|
|
VALIGN="top"
|
| 272 |
|
|
><A
|
| 273 |
|
|
HREF="real-time-characterization.html"
|
| 274 |
|
|
ACCESSKEY="U"
|
| 275 |
|
|
>Up</A
|
| 276 |
|
|
></TD
|
| 277 |
|
|
><TD
|
| 278 |
|
|
WIDTH="33%"
|
| 279 |
|
|
ALIGN="right"
|
| 280 |
|
|
VALIGN="top"
|
| 281 |
|
|
>GNU General Public License</TD
|
| 282 |
|
|
></TR
|
| 283 |
|
|
></TABLE
|
| 284 |
|
|
></DIV
|
| 285 |
|
|
></BODY
|
| 286 |
|
|
></HTML
|
| 287 |
|
|
>
|