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.