X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=doc%2Fhtml%2Fref%2Fhal-general-principles.html;fp=doc%2Fhtml%2Fref%2Fhal-general-principles.html;h=9fbeb6db75de918602607c4c06fe8b610f01f5dc;hb=2b5bec7716c03d42cfb16d8c98c9cea573bf6722;hp=0000000000000000000000000000000000000000;hpb=47412fc4bd1aefc0d5498bcb3860a9d727196f16;p=karo-tx-redboot.git diff --git a/doc/html/ref/hal-general-principles.html b/doc/html/ref/hal-general-principles.html new file mode 100644 index 00000000..9fbeb6db --- /dev/null +++ b/doc/html/ref/hal-general-principles.html @@ -0,0 +1,183 @@ + + + + + + + + +General principles +
eCos Reference Manual
PrevNext

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.


PrevHomeNext
Architecture, Variant and PlatformUpHAL Interfaces
\ No newline at end of file