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. -->
12 >General principles</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
22 TITLE="The eCos Hardware Abstraction Layer (HAL)"
23 HREF="the-ecos-hardware-abstraction-layer.html"><LINK
25 TITLE="Architecture, Variant and Platform"
26 HREF="hal-architecture-variant-and-platform.html"><LINK
28 TITLE="HAL Interfaces"
29 HREF="hal-interfaces.html"></HEAD
40 SUMMARY="Header navigation table"
49 >eCos Reference Manual</TH
57 HREF="hal-architecture-variant-and-platform.html"
71 HREF="hal-interfaces.html"
84 NAME="HAL-GENERAL-PRINCIPLES">Chapter 8. General principles</H1
86 >The HAL has been implemented according to the following general
94 > The HAL is implemented in C and assembler, although the
95 eCos kernel is largely implemented in C++.
96 This is to permit the HAL the widest possible
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
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
124 SUMMARY="Footer navigation table"
135 HREF="hal-architecture-variant-and-platform.html"
153 HREF="hal-interfaces.html"
163 >Architecture, Variant and Platform</TD
169 HREF="the-ecos-hardware-abstraction-layer.html"