Hardware Abstraction Layer — Änderungen 6755 → 7104

Zeile 9: Zeile 9:
 
Um I/O-Ports zu verwalten könnten Funktionen zum Allozieren und Freigeben von [[I/O-Port]]s zur Verfügung gestellt werden, falls die Architektur (wie z. B. [[x86]] und [[x86-64]]) I/O-Ports zur Verfügung stellt. Außerdem werden Funktionen benötigt um auf die I/O-Ports zuzugreifen.
 
Um I/O-Ports zu verwalten könnten Funktionen zum Allozieren und Freigeben von [[I/O-Port]]s zur Verfügung gestellt werden, falls die Architektur (wie z. B. [[x86]] und [[x86-64]]) I/O-Ports zur Verfügung stellt. Außerdem werden Funktionen benötigt um auf die I/O-Ports zuzugreifen.
  
−
=== Memmory-mapped I/O ===
+
=== Memory-mapped I/O ===
 
Zusätzlich zu den I/O-Ports – oft auch anstelle der I/O-Ports – wird von der Architektur an bestimmmten Speicherbereichen nicht normaler RAM eingeblendet, sondern Register von Hardwarekomponenten. Es kann deshalb sinnvoll sein, Funktionen zum Allozieren, Freigeben und zum Zugriff auf solche Speicherbereiche vorzusehen. Dabei ist zu beachten, dass in [[C]] und [[C++]] der type-qualifier ''volatile'' verwendet werden sollte, um auf solche Speicherbereiche zuzugreifen.
 
Zusätzlich zu den I/O-Ports – oft auch anstelle der I/O-Ports – wird von der Architektur an bestimmmten Speicherbereichen nicht normaler RAM eingeblendet, sondern Register von Hardwarekomponenten. Es kann deshalb sinnvoll sein, Funktionen zum Allozieren, Freigeben und zum Zugriff auf solche Speicherbereiche vorzusehen. Dabei ist zu beachten, dass in [[C]] und [[C++]] der type-qualifier ''volatile'' verwendet werden sollte, um auf solche Speicherbereiche zuzugreifen.