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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [hal-general-principles.html] - Blame information for rev 174

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
>General principles</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="Architecture, Variant and Platform"
26
HREF="hal-architecture-variant-and-platform.html"><LINK
27
REL="NEXT"
28
TITLE="HAL Interfaces"
29
HREF="hal-interfaces.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-architecture-variant-and-platform.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-interfaces.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-GENERAL-PRINCIPLES">Chapter 8. General principles</H1
85
><P
86
>The HAL has been implemented according to the following general
87
principles:</P
88
><P
89
></P
90
><OL
91
TYPE="1"
92
><LI
93
><P
94
>             The HAL is implemented in C and assembler, although the
95
              eCos kernel is largely implemented in C&#0043;&#0043;.
96
              This is to permit the HAL the widest possible
97
              applicability.</P
98
></LI
99
><LI
100
><P
101
>All interfaces to the HAL are implemented by
102
              CPP macros. This allows them to be implemented as inline
103
              C code, inline assembler or function calls to external C
104
              or assembler code. This allows the most efficient
105
              implementation to be selected without affecting the
106
              interface. It also allows them to be redefined if the
107
              platform or variant HAL needs to replace or enhance a definition
108
              from the architecture HAL.</P
109
></LI
110
><LI
111
><P
112
>The HAL provides simple, portable mechanisms for dealing
113
with the hardware of a wide range of architectures and platforms.
114
It is always possible to bypass the HAL and program the hardware
115
directly, but this may lead to a loss of portability. </P
116
></LI
117
></OL
118
></DIV
119
><DIV
120
CLASS="NAVFOOTER"
121
><HR
122
ALIGN="LEFT"
123
WIDTH="100%"><TABLE
124
SUMMARY="Footer navigation table"
125
WIDTH="100%"
126
BORDER="0"
127
CELLPADDING="0"
128
CELLSPACING="0"
129
><TR
130
><TD
131
WIDTH="33%"
132
ALIGN="left"
133
VALIGN="top"
134
><A
135
HREF="hal-architecture-variant-and-platform.html"
136
ACCESSKEY="P"
137
>Prev</A
138
></TD
139
><TD
140
WIDTH="34%"
141
ALIGN="center"
142
VALIGN="top"
143
><A
144
HREF="ecos-ref.html"
145
ACCESSKEY="H"
146
>Home</A
147
></TD
148
><TD
149
WIDTH="33%"
150
ALIGN="right"
151
VALIGN="top"
152
><A
153
HREF="hal-interfaces.html"
154
ACCESSKEY="N"
155
>Next</A
156
></TD
157
></TR
158
><TR
159
><TD
160
WIDTH="33%"
161
ALIGN="left"
162
VALIGN="top"
163
>Architecture, Variant and Platform</TD
164
><TD
165
WIDTH="34%"
166
ALIGN="center"
167
VALIGN="top"
168
><A
169
HREF="the-ecos-hardware-abstraction-layer.html"
170
ACCESSKEY="U"
171
>Up</A
172
></TD
173
><TD
174
WIDTH="33%"
175
ALIGN="right"
176
VALIGN="top"
177
>HAL Interfaces</TD
178
></TR
179
></TABLE
180
></DIV
181
></BODY
182
></HTML
183
>

powered by: WebSVN 2.1.0

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