Entwurfstest ohne Kerneltreiber

Die Beispielprogramme sind:

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.