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

Vue implementiert einfache Kommentarfunktion

In diesem Artikel wird der spezifische Code von V...

Webdesign-Tutorial (6): Behalte deine Leidenschaft für Design

<br />Vorheriger Artikel: Webdesign-Tutorial...

Über das WeChat-Gleitproblem des UniApp-Editors

Das Uniapp-Applet wird ein ähnliches Dropdown-Pro...

HTML Tutorial: Sammlung häufig verwendeter HTML-Tags (4)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

js Canvas zur Realisierung des Gobang-Spiels

In diesem Artikel wird der spezifische Code der L...

Einführung in die Benutzerverwaltung unter Linux-Systemen

Inhaltsverzeichnis 1. Die Bedeutung von Nutzern u...

So wenden Sie TypeScript-Klassen in Vue-Projekten an

Inhaltsverzeichnis 1. Einleitung 2. Verwendung 1....

JavaScript zum Erzielen des JD.com-Blitzverkaufseffekts

In diesem Artikel wird der spezifische JavaScript...

Sollte ich JQuery aufgeben?

Inhaltsverzeichnis Vorwort Was soll verwendet wer...

Mysql NULL verursachte die Grube

Verwenden von NULL in Vergleichsoperatoren mysql&...

Anwendungsbeispiele für die virtuelle Liste des WeChat-Applets

Inhaltsverzeichnis Vorwort Was ist eine virtuelle...