Projekte.PCI-Tutorial-TGUserspace (Struktur)


Entwurfstest ohne Gerätetreiber

Die Beispielprogramme sind [read-mem.c] [Makefile] [write-mem.c] .

Für den Test des PCI-Targets aus dem Userspace heraus wird wie beim Projekt "Board-Test" über /dev/mem auf den Speicher der PCI-Karte zugegriffen. Der Unterschied besteht lediglich darin, dass in diesem Fall der Speicher nicht als ein Feld von 32 Bit vorzeichenlosen Integer-Zahlen (usigned int) aufgefasst wird, sondern als Zeichenfeld (char).

  • Das Programm write-mem.c liest maximal 4 KByte Zeichen von der Standardeingabe stdin ein und kopiert sie in den eingeblendeten Speicherbereich des PCI-Targets. Werden weniger Zeichen eingegeben, wird der verbleibende Speicher gelöscht d.h. mit 0x00 beschrieben. Als Kommandozeilenparameter muss die Basisadresse der Karte angegeben werden, die mit
        cat /proc/pci
    
    ermittelt werden kann.
  • Das Programm read-mem.c liest den 4 KByte großen Speicherbereich des PCI-Targets aus und gibt den Inhalt als String aus. Als Kommandozeilenparameter wird ebenfalls die Basisadresse der Karte erwartet.
Beispiel
    cat write-mem.c | ./write-mem 0xd6000000
schreibt den Inhalt der Datei write-mem.c in den Speicher des PCI-Targets, dessen Anfangsadresse zuvor als 0xd6000000 bestimmt wurde.
   ./read-mem.c 0xd6000000
liest den PCI-Speicher. Es wird der zuvor hineingeschriebene Inhalt ausgegeben.


Autor: gkemnitz, Letzte Änderung: 14.04.2011 15:09:59


 TU Clausthal 2020  Impressum