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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [compat-uitron-interrupt-management-functions.html] - Blame information for rev 858

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
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
>Interrupt management functions</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 Reference Manual"
20
HREF="ecos-ref.html"><LINK
21
REL="UP"
22
TITLE="µITRON API"
23
HREF="compat-uitron-microitron-api.html"><LINK
24
REL="PREVIOUS"
25
TITLE="Extended Synchronization and Communication Functions"
26
HREF="compat-uitron-extended-sync-comm-functions.html"><LINK
27
REL="NEXT"
28
TITLE="   Memory pool Management Functions"
29
HREF="compat-uitron-memory-pool-mgmt-functions.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 Reference Manual</TH
50
></TR
51
><TR
52
><TD
53
WIDTH="10%"
54
ALIGN="left"
55
VALIGN="bottom"
56
><A
57
HREF="compat-uitron-extended-sync-comm-functions.html"
58
ACCESSKEY="P"
59
>Prev</A
60
></TD
61
><TD
62
WIDTH="80%"
63
ALIGN="center"
64
VALIGN="bottom"
65
>Chapter 32. &micro;ITRON API</TD
66
><TD
67
WIDTH="10%"
68
ALIGN="right"
69
VALIGN="bottom"
70
><A
71
HREF="compat-uitron-memory-pool-mgmt-functions.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="COMPAT-UITRON-INTERRUPT-MANAGEMENT-FUNCTIONS">Interrupt management functions</H1
86
><P
87
>These functions are fully supported in this release:</P
88
><TABLE
89
BORDER="5"
90
BGCOLOR="#E0E0F0"
91
WIDTH="70%"
92
><TR
93
><TD
94
><PRE
95
CLASS="PROGRAMLISTING"
96
>void   <TT
97
CLASS="FUNCTION"
98
> ret_int</TT
99
>( void )</PRE
100
></TD
101
></TR
102
></TABLE
103
><TABLE
104
BORDER="5"
105
BGCOLOR="#E0E0F0"
106
WIDTH="70%"
107
><TR
108
><TD
109
><PRE
110
CLASS="PROGRAMLISTING"
111
>ER <TT
112
CLASS="FUNCTION"
113
>loc_cpu</TT
114
>( void )</PRE
115
></TD
116
></TR
117
></TABLE
118
><TABLE
119
BORDER="5"
120
BGCOLOR="#E0E0F0"
121
WIDTH="70%"
122
><TR
123
><TD
124
><PRE
125
CLASS="PROGRAMLISTING"
126
>ER <TT
127
CLASS="FUNCTION"
128
>unl_cpu</TT
129
>( void )</PRE
130
></TD
131
></TR
132
></TABLE
133
><TABLE
134
BORDER="5"
135
BGCOLOR="#E0E0F0"
136
WIDTH="70%"
137
><TR
138
><TD
139
><PRE
140
CLASS="PROGRAMLISTING"
141
>ER <TT
142
CLASS="FUNCTION"
143
>dis_int</TT
144
>(
145
    UINT <SPAN
146
CLASS="emphasis"
147
><I
148
CLASS="EMPHASIS"
149
>eintno</I
150
></SPAN
151
> )</PRE
152
></TD
153
></TR
154
></TABLE
155
><TABLE
156
BORDER="5"
157
BGCOLOR="#E0E0F0"
158
WIDTH="70%"
159
><TR
160
><TD
161
><PRE
162
CLASS="PROGRAMLISTING"
163
>ER <TT
164
CLASS="FUNCTION"
165
>ena_int</TT
166
>(
167
    UINT <SPAN
168
CLASS="emphasis"
169
><I
170
CLASS="EMPHASIS"
171
>eintno</I
172
></SPAN
173
> )</PRE
174
></TD
175
></TR
176
></TABLE
177
><TABLE
178
BORDER="5"
179
BGCOLOR="#E0E0F0"
180
WIDTH="70%"
181
><TR
182
><TD
183
><PRE
184
CLASS="PROGRAMLISTING"
185
>void   <TT
186
CLASS="FUNCTION"
187
>ret_wup</TT
188
>(
189
    ID <SPAN
190
CLASS="emphasis"
191
><I
192
CLASS="EMPHASIS"
193
>tskid</I
194
></SPAN
195
> )</PRE
196
></TD
197
></TR
198
></TABLE
199
><TABLE
200
BORDER="5"
201
BGCOLOR="#E0E0F0"
202
WIDTH="70%"
203
><TR
204
><TD
205
><PRE
206
CLASS="PROGRAMLISTING"
207
>ER <TT
208
CLASS="FUNCTION"
209
>iwup_tsk</TT
210
>(
211
    ID <SPAN
212
CLASS="emphasis"
213
><I
214
CLASS="EMPHASIS"
215
>tskid</I
216
></SPAN
217
> )</PRE
218
></TD
219
></TR
220
></TABLE
221
><TABLE
222
BORDER="5"
223
BGCOLOR="#E0E0F0"
224
WIDTH="70%"
225
><TR
226
><TD
227
><PRE
228
CLASS="PROGRAMLISTING"
229
>ER <TT
230
CLASS="FUNCTION"
231
>isig_sem</TT
232
>(
233
    ID <SPAN
234
CLASS="emphasis"
235
><I
236
CLASS="EMPHASIS"
237
>semid</I
238
></SPAN
239
> )</PRE
240
></TD
241
></TR
242
></TABLE
243
><TABLE
244
BORDER="5"
245
BGCOLOR="#E0E0F0"
246
WIDTH="70%"
247
><TR
248
><TD
249
><PRE
250
CLASS="PROGRAMLISTING"
251
>ER <TT
252
CLASS="FUNCTION"
253
>iset_flg</TT
254
>(
255
    ID <SPAN
256
CLASS="emphasis"
257
><I
258
CLASS="EMPHASIS"
259
>flgid ,</I
260
></SPAN
261
>
262
    UID<SPAN
263
CLASS="emphasis"
264
><I
265
CLASS="EMPHASIS"
266
> setptn</I
267
></SPAN
268
> )</PRE
269
></TD
270
></TR
271
></TABLE
272
><TABLE
273
BORDER="5"
274
BGCOLOR="#E0E0F0"
275
WIDTH="70%"
276
><TR
277
><TD
278
><PRE
279
CLASS="PROGRAMLISTING"
280
>ER <TT
281
CLASS="FUNCTION"
282
>isend_msg</TT
283
>(
284
    ID <SPAN
285
CLASS="emphasis"
286
><I
287
CLASS="EMPHASIS"
288
>mbxid ,</I
289
></SPAN
290
>
291
    T_MSG<SPAN
292
CLASS="emphasis"
293
><I
294
CLASS="EMPHASIS"
295
> *pk_msg</I
296
></SPAN
297
> )</PRE
298
></TD
299
></TR
300
></TABLE
301
><P
302
>Note that <TT
303
CLASS="FUNCTION"
304
>ret_int()</TT
305
> and
306
the <TT
307
CLASS="FUNCTION"
308
>ret_wup()</TT
309
> are  implemented
310
as macros, containing a &#8220;return&#8221; statement.</P
311
><P
312
>Also note that <TT
313
CLASS="FUNCTION"
314
>ret_wup()</TT
315
> and
316
the <TT
317
CLASS="FUNCTION"
318
>ixxx_yyy()</TT
319
> style functions
320
will only work when called from an ISR whose associated DSR is <TT
321
CLASS="FUNCTION"
322
>cyg_uitron_dsr()</TT
323
>,
324
as specified in include file <TT
325
CLASS="FILENAME"
326
>&lt;cyg/compat/uitron/uit_ifnc.h&gt;</TT
327
>,
328
which defines the <TT
329
CLASS="FUNCTION"
330
>ixxx_yyy()</TT
331
> style
332
functions also.</P
333
><P
334
>If you are writing interrupt handlers more in the
335
<SPAN
336
CLASS="emphasis"
337
><I
338
CLASS="EMPHASIS"
339
>eCos</I
340
></SPAN
341
> style, with separate ISR and DSR routines both of
342
your own devising, do not use these special functions from a DSR: use plain
343
<TT
344
CLASS="FUNCTION"
345
>xxx_yyy()</TT
346
> style functions (with no &#8216;i&#8217; prefix)
347
instead, and do not call any &micro;ITRON functions from the ISR at
348
all.</P
349
><P
350
>The following functions are not supported in this release: </P
351
><TABLE
352
BORDER="5"
353
BGCOLOR="#E0E0F0"
354
WIDTH="70%"
355
><TR
356
><TD
357
><PRE
358
CLASS="PROGRAMLISTING"
359
>ER <TT
360
CLASS="FUNCTION"
361
>def_int</TT
362
>(
363
    UINT <SPAN
364
CLASS="emphasis"
365
><I
366
CLASS="EMPHASIS"
367
>dintno,</I
368
></SPAN
369
>
370
  T_DINT *<SPAN
371
CLASS="emphasis"
372
><I
373
CLASS="EMPHASIS"
374
>pk_dint</I
375
></SPAN
376
> )</PRE
377
></TD
378
></TR
379
></TABLE
380
><TABLE
381
BORDER="5"
382
BGCOLOR="#E0E0F0"
383
WIDTH="70%"
384
><TR
385
><TD
386
><PRE
387
CLASS="PROGRAMLISTING"
388
>ER <TT
389
CLASS="FUNCTION"
390
>chg_iXX</TT
391
>(
392
    UINT <SPAN
393
CLASS="emphasis"
394
><I
395
CLASS="EMPHASIS"
396
>iXXXX</I
397
></SPAN
398
> )
399
  </PRE
400
></TD
401
></TR
402
></TABLE
403
><TABLE
404
BORDER="5"
405
BGCOLOR="#E0E0F0"
406
WIDTH="70%"
407
><TR
408
><TD
409
><PRE
410
CLASS="PROGRAMLISTING"
411
>ER <TT
412
CLASS="FUNCTION"
413
>ref_iXX</TT
414
>(
415
    UINT * <SPAN
416
CLASS="emphasis"
417
><I
418
CLASS="EMPHASIS"
419
>p_iXXXX</I
420
></SPAN
421
> )</PRE
422
></TD
423
></TR
424
></TABLE
425
><P
426
>These unsupported functions are all Level C (CPU dependent).
427
Equivalent functionality is available via other <SPAN
428
CLASS="emphasis"
429
><I
430
CLASS="EMPHASIS"
431
>eCos</I
432
></SPAN
433
>-specific
434
APIs. </P
435
><DIV
436
CLASS="SECT2"
437
><H2
438
CLASS="SECT2"
439
><A
440
NAME="AEN13831">Error checking</H2
441
><P
442
>The following conditions are only checked for, and only return
443
errors if
444
<TT
445
CLASS="LITERAL"
446
>CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
447
>
448
is enabled:</P
449
><P
450
></P
451
><UL
452
><LI
453
><P
454
><TT
455
CLASS="FUNCTION"
456
>loc/unl_cpu()</TT
457
>
458
: these must only be called in a
459
&micro;ITRON task context, else E_CTX.</P
460
></LI
461
><LI
462
><P
463
><TT
464
CLASS="FUNCTION"
465
>dis/ena_int()</TT
466
>
467
: the interrupt number must be in range as specified by the platform
468
HAL in qustion, else E_PAR.</P
469
></LI
470
></UL
471
></DIV
472
></DIV
473
><DIV
474
CLASS="NAVFOOTER"
475
><HR
476
ALIGN="LEFT"
477
WIDTH="100%"><TABLE
478
SUMMARY="Footer navigation table"
479
WIDTH="100%"
480
BORDER="0"
481
CELLPADDING="0"
482
CELLSPACING="0"
483
><TR
484
><TD
485
WIDTH="33%"
486
ALIGN="left"
487
VALIGN="top"
488
><A
489
HREF="compat-uitron-extended-sync-comm-functions.html"
490
ACCESSKEY="P"
491
>Prev</A
492
></TD
493
><TD
494
WIDTH="34%"
495
ALIGN="center"
496
VALIGN="top"
497
><A
498
HREF="ecos-ref.html"
499
ACCESSKEY="H"
500
>Home</A
501
></TD
502
><TD
503
WIDTH="33%"
504
ALIGN="right"
505
VALIGN="top"
506
><A
507
HREF="compat-uitron-memory-pool-mgmt-functions.html"
508
ACCESSKEY="N"
509
>Next</A
510
></TD
511
></TR
512
><TR
513
><TD
514
WIDTH="33%"
515
ALIGN="left"
516
VALIGN="top"
517
>Extended Synchronization and Communication Functions</TD
518
><TD
519
WIDTH="34%"
520
ALIGN="center"
521
VALIGN="top"
522
><A
523
HREF="compat-uitron-microitron-api.html"
524
ACCESSKEY="U"
525
>Up</A
526
></TD
527
><TD
528
WIDTH="33%"
529
ALIGN="right"
530
VALIGN="top"
531
>Memory pool Management Functions</TD
532
></TR
533
></TABLE
534
></DIV
535
></BODY
536
></HTML
537
>

powered by: WebSVN 2.1.0

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