Hinweise zur Adresszuordnung von Gerätetreibern im Linux-Kernel

Hinweise zur Adresszuordnung von Gerätetreibern im Linux-Kernel
#include <asm/io.h>
#define ioremap(Cookie,Größe) __arm_ioremap(Cookie, Größe, MT_DEVICE)
//Cookie gibt die physische Adresse an, Größe gibt die Zuordnungsgröße an. ioremap ordnet die angegebene physische Adresse einer freien virtuellen Adresse zu void __iomem *
__arm_ioremap(unsigned long phys_addr, size_t Größe, unsigned int mtype)
{
returniere __arm_ioremap_caller(phys_adresse, Größe, mtype,
__builtin_return_address(0));
}

1. Virtuelle Adresse nach Zuordnung von physischer Adresse

  • Virtuelle Adresse = ioremap (physische Adresse, Zuordnungsgröße);
  • Nach der Verwendung iounmap (virtuelle Adresse); //Lösche die Zuordnungstabelle

2.

ioread8(Adresse)/readb()
ioread16(Adresse)/readw()
ioread32(Adresse)/readl()

iowrite8(Wert, Adresse) / writeb
iowrite16(Wert, Adresse) / writew
iowrite32(Wert, Adresse) / writel
#include <asm/sizes.h>
SZ_4K
SZ_1M

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Eine einfache Möglichkeit, Linux-Code auf Windows zu portieren
  • Hinweise zur Speicherverwaltung von Linux-Kernel-Gerätetreibern
  • Hinweise zur Zeitverwaltung des Linux-Kernel-Gerätetreibers
  • Hinweise zum Zeichengerätetreiber des Linux-Kernel-Gerätetreibers
  • Hinweise zum virtuellen Dateisystem des Linux-Kernel-Gerätetreibers
  • Hinweise zum Systemaufruf des Linux-Kernel-Gerätetreibers
  • Sortierung der technischen Hinweise zum Linux-Kernel-Gerätetreiber-Kernel-Debugging
  • Hinweise zur Verwendung der verknüpften Liste des Linux-Kernel-Gerätetreibers
  • Hinweise zum Proc-Dateisystem des Linux-Kernel-Gerätetreibers
  • Hinweise zum erweiterten Zeichengerätetreiber des Linux-Kernel-Gerätetreibers
  • Linux-Kernel-Gerätetreiber. Zusammenfassung der Hinweise zum Lademechanismus von Linux-Kernelmodulen.
  • Gerätetreiber des Linux-Kernels – Zusammenfassung der grundlegenden Hinweise zum Linux-Kernel
  • Schritte zum Übertragen des neuen Kernels auf das Linux-System

<<:  Beispiel für das Herunterladen von Dateien mit vue+django

>>:  Beispiel für das Hinzufügen und Löschen von Bereichspartitionen in MySQL 5.5

Artikel empfehlen

Beispiel für die Migration einer MySQL-Online-Protokollbibliothek

Ich möchte Ihnen von einem aktuellen Fall erzähle...

Was ist COLLATE in MYSQL?

Vorwort Führen Sie den Befehl show create table &...

Vue3.x verwendet mitt.js für die Komponentenkommunikation

Inhaltsverzeichnis Schnellstart Anwendung Grundpr...

So konfigurieren Sie Nginx's Anti-Hotlinking

Experimentelle Umgebung • Eine minimal installier...

Implementierung des React-Konfigurations-Subroutings

1. Die Komponente First.js hat Unterkomponenten: ...

So installieren Sie Tomcat-8.5.39 auf centos7.6

So installieren Sie Tomcat-8.5.39 auf CentOS 7.6....

Vue-Entwicklungsbaumstrukturkomponenten (Komponentenrekursion)

In diesem Artikelbeispiel wird der spezifische Co...

Verwenden von js zum Implementieren eines einfachen Lichtschaltercodes

Körperteil: <button>Licht ein-/ausschalten&...

So installieren und implementieren Sie einen Gitlab-Server auf CentOS7

Ich verwende hier das 64-Bit-System CentOS 7. Ich...

Dynamischer Sternenhimmel Hintergrund umgesetzt mit CSS3

Ergebnis:Implementierungscode html <link href=...

Detailliertes Tutorial zur Installation von mysql5.7.21 unter Windows

In diesem Artikel finden Sie das Installations-Tu...