Chapter 8. general principles, General principles – Comtrol eCos User Manual

Page 279

Advertising
background image

Chapter 8. General principles

The HAL has been implemented according to the following general principles:

1. The HAL is implemented in C and assembler, although the eCos kernel is largely implemented in C++. This

is to permit the HAL the widest possible applicability.

2. All interfaces to the HAL are implemented by CPP macros. This allows them to be implemented as inline

C code, inline assembler or function calls to external C or assembler code. This allows the most efficient
implementation to be selected without affecting the interface. It also allows them to be redefined if the platform
or variant HAL needs to replace or enhance a definition from the architecture HAL.

3. The HAL provides simple, portable mechanisms for dealing with the hardware of a wide range of architectures

and platforms. It is always possible to bypass the HAL and program the hardware directly, but this may lead
to a loss of portability.

175

Advertising