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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [hal-interfaces.html] - Blame information for rev 757

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
>HAL Interfaces</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="The eCos Hardware Abstraction Layer (HAL)"
23
HREF="the-ecos-hardware-abstraction-layer.html"><LINK
24
REL="PREVIOUS"
25
TITLE="General principles"
26
HREF="hal-general-principles.html"><LINK
27
REL="NEXT"
28
TITLE="Architecture Characterization"
29
HREF="hal-architecture-characterization.html"></HEAD
30
><BODY
31
CLASS="CHAPTER"
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="hal-general-principles.html"
58
ACCESSKEY="P"
59
>Prev</A
60
></TD
61
><TD
62
WIDTH="80%"
63
ALIGN="center"
64
VALIGN="bottom"
65
></TD
66
><TD
67
WIDTH="10%"
68
ALIGN="right"
69
VALIGN="bottom"
70
><A
71
HREF="hal-architecture-characterization.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="CHAPTER"
82
><H1
83
><A
84
NAME="HAL-INTERFACES">Chapter 9. HAL Interfaces</H1
85
><DIV
86
CLASS="TOC"
87
><DL
88
><DT
89
><B
90
>Table of Contents</B
91
></DT
92
><DT
93
><A
94
HREF="hal-interfaces.html#HAL-BASE-DEFINITIONS"
95
>Base Definitions</A
96
></DT
97
><DT
98
><A
99
HREF="hal-architecture-characterization.html"
100
>Architecture Characterization</A
101
></DT
102
><DT
103
><A
104
HREF="hal-interrupt-handling.html"
105
>Interrupt Handling</A
106
></DT
107
><DT
108
><A
109
HREF="hal-input-and-output.html"
110
>HAL I/O</A
111
></DT
112
><DT
113
><A
114
HREF="hal-cache-control.html"
115
>Cache Control</A
116
></DT
117
><DT
118
><A
119
HREF="hal-linker-scripts.html"
120
>Linker Scripts</A
121
></DT
122
><DT
123
><A
124
HREF="hal-diagnostic-support.html"
125
>Diagnostic Support</A
126
></DT
127
><DT
128
><A
129
HREF="hal-smp-support.html"
130
>SMP Support</A
131
></DT
132
></DL
133
></DIV
134
><P
135
>This section describes the main HAL interfaces. </P
136
><DIV
137
CLASS="SECTION"
138
><H1
139
CLASS="SECTION"
140
><A
141
NAME="HAL-BASE-DEFINITIONS">Base Definitions</H1
142
><P
143
>These are definitions that characterize the properties of the base
144
architecture that are used to compile the portable parts of the
145
kernel. They are concerned with such things a portable type
146
definitions, endianness, and labeling.</P
147
><P
148
>These definitions are supplied by the
149
<TT
150
CLASS="FILENAME"
151
>cyg/hal/basetype.h</TT
152
> header file which is supplied
153
by the architecture HAL. It is included automatically by
154
<TT
155
CLASS="FILENAME"
156
>cyg/infra/cyg_type.h</TT
157
>.</P
158
><DIV
159
CLASS="SECTION"
160
><H2
161
CLASS="SECTION"
162
><A
163
NAME="AEN7743">Byte order</H2
164
><P
165
></P
166
><DIV
167
CLASS="VARIABLELIST"
168
><DL
169
><DT
170
><TT
171
CLASS="VARNAME"
172
>CYG_BYTEORDER</TT
173
></DT
174
><DD
175
><P
176
>      This defines the byte order of the target and must be set to either
177
      <TT
178
CLASS="VARNAME"
179
>CYG_LSBFIRST</TT
180
> or <TT
181
CLASS="VARNAME"
182
>CYG_MSBFIRST</TT
183
>.
184
      </P
185
></DD
186
></DL
187
></DIV
188
></DIV
189
><DIV
190
CLASS="SECTION"
191
><H2
192
CLASS="SECTION"
193
><A
194
NAME="AEN7753">Label Translation</H2
195
><P
196
></P
197
><DIV
198
CLASS="VARIABLELIST"
199
><DL
200
><DT
201
><TT
202
CLASS="FUNCTION"
203
>CYG_LABEL_NAME(name)</TT
204
></DT
205
><DD
206
><P
207
>      This is a wrapper used in some C and C&#0043;&#0043; files which
208
      use labels defined in assembly code or the linker script.
209
      It need only be defined if the default implementation in
210
      <TT
211
CLASS="FILENAME"
212
>cyg/infra/cyg_type.h</TT
213
>, which passes the name
214
      argument unaltered, is inadequate. It should be paired with
215
      <TT
216
CLASS="FUNCTION"
217
>CYG_LABEL_DEFN()</TT
218
>.
219
      </P
220
></DD
221
><DT
222
><TT
223
CLASS="FUNCTION"
224
>CYG_LABEL_DEFN(name)</TT
225
></DT
226
><DD
227
><P
228
>      This is a wrapper used in assembler sources and linker scripts
229
      which define labels.  It need only be defined if the default
230
      implementation in
231
      <TT
232
CLASS="FILENAME"
233
>cyg/infra/cyg_type.h</TT
234
>, which passes the name
235
      argument unaltered, is inadequate. The most usual alternative
236
      definition of this macro prepends an underscore to the label
237
      name.
238
      </P
239
></DD
240
></DL
241
></DIV
242
></DIV
243
><DIV
244
CLASS="SECTION"
245
><H2
246
CLASS="SECTION"
247
><A
248
NAME="AEN7769">Base types</H2
249
><TABLE
250
BORDER="5"
251
BGCOLOR="#E0E0F0"
252
WIDTH="70%"
253
><TR
254
><TD
255
><PRE
256
CLASS="PROGRAMLISTING"
257
>       cyg_halint8
258
        cyg_halint16
259
        cyg_halint32
260
        cyg_halint64
261
        cyg_halcount8
262
        cyg_halcount16
263
        cyg_halcount32
264
        cyg_halcount64
265
        cyg_halbool</PRE
266
></TD
267
></TR
268
></TABLE
269
><P
270
>These macros define the C base types that should be used to define
271
variables of the given size. They only need to be defined if the
272
default types specified in <TT
273
CLASS="FILENAME"
274
>cyg/infra/cyg_type.h</TT
275
>
276
cannot be used. Note that these are only the base types, they will be
277
composed with <TT
278
CLASS="LITERAL"
279
>signed</TT
280
> and
281
<TT
282
CLASS="LITERAL"
283
>unsigned</TT
284
> to form full type specifications.</P
285
></DIV
286
><DIV
287
CLASS="SECTION"
288
><H2
289
CLASS="SECTION"
290
><A
291
NAME="AEN7776">Atomic types</H2
292
><TABLE
293
BORDER="5"
294
BGCOLOR="#E0E0F0"
295
WIDTH="70%"
296
><TR
297
><TD
298
><PRE
299
CLASS="PROGRAMLISTING"
300
>       cyg_halatomic CYG_ATOMIC</PRE
301
></TD
302
></TR
303
></TABLE
304
><P
305
>These types are guaranteed to be read or written in a single
306
uninterruptible operation. It is architecture defined what size this
307
type is, but it will be at least a byte.</P
308
></DIV
309
></DIV
310
></DIV
311
><DIV
312
CLASS="NAVFOOTER"
313
><HR
314
ALIGN="LEFT"
315
WIDTH="100%"><TABLE
316
SUMMARY="Footer navigation table"
317
WIDTH="100%"
318
BORDER="0"
319
CELLPADDING="0"
320
CELLSPACING="0"
321
><TR
322
><TD
323
WIDTH="33%"
324
ALIGN="left"
325
VALIGN="top"
326
><A
327
HREF="hal-general-principles.html"
328
ACCESSKEY="P"
329
>Prev</A
330
></TD
331
><TD
332
WIDTH="34%"
333
ALIGN="center"
334
VALIGN="top"
335
><A
336
HREF="ecos-ref.html"
337
ACCESSKEY="H"
338
>Home</A
339
></TD
340
><TD
341
WIDTH="33%"
342
ALIGN="right"
343
VALIGN="top"
344
><A
345
HREF="hal-architecture-characterization.html"
346
ACCESSKEY="N"
347
>Next</A
348
></TD
349
></TR
350
><TR
351
><TD
352
WIDTH="33%"
353
ALIGN="left"
354
VALIGN="top"
355
>General principles</TD
356
><TD
357
WIDTH="34%"
358
ALIGN="center"
359
VALIGN="top"
360
><A
361
HREF="the-ecos-hardware-abstraction-layer.html"
362
ACCESSKEY="U"
363
>Up</A
364
></TD
365
><TD
366
WIDTH="33%"
367
ALIGN="right"
368
VALIGN="top"
369
>Architecture Characterization</TD
370
></TR
371
></TABLE
372
></DIV
373
></BODY
374
></HTML
375
>

powered by: WebSVN 2.1.0

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