Portzugriffe über Device-Treiber

04/11/2009 - 11:02 von Holger | Report spam
Hallo,

ich schreibe in der Hoffnung, hier jemanden zu finden, der weiß, wie man
über Device-Treiber auf Ports angeschlossener Peripheriebausteine
zugreifen kann, zum Beispiel auf einen UART, der eine serielle
Schnittstelle realisiert.

Serielle Schnittstellen stehen unter Linux als Geràtedatei zur
Verfungung, also zum Beispiel als /dev/ttyS0. Wie kann ich über diese
Geràtedatei auf die einzelnen Register des UART lesend und schreibend
zugreifen? Wie umgehe ich eventuelle Restriktionen?

Hier hàtte ich gerne ein paar nàhere Infos.

Grüße, Holger
 

Lesen sie die antworten

#1 Henning Paul
04/11/2009 - 11:22 | Warnen spam
Holger wrote:

Hallo,

ich schreibe in der Hoffnung, hier jemanden zu finden, der weiß, wie
man über Device-Treiber auf Ports angeschlossener Peripheriebausteine
zugreifen kann, zum Beispiel auf einen UART, der eine serielle
Schnittstelle realisiert.

Serielle Schnittstellen stehen unter Linux als Geràtedatei zur
Verfungung, also zum Beispiel als /dev/ttyS0. Wie kann ich über diese
Geràtedatei auf die einzelnen Register des UART lesend und schreibend
zugreifen?



Naja, wenn der Port weiterhin als /dev/ttyS0 zur Verfügung stehen soll,
z.B. weil man per read() und write() davon lesen bzw. schreiben möchte,
kann man mit ioctl() Kontroll-/Statusleitungen etc. setzen und lesen:

http://linux.die.net/man/4/tty_ioctl

Ist das nicht nötig, kann man den Port mit "setserial /dev/ttyS0 uart
none" vom System abmelden und dann mit inb() und outb() auf den
normalen Registeradressen herumfuhrwerken (wenn man denn root-Rechte
hat).

Gruß
Henning

Ähnliche fragen