PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C unter Linux



FIAN03
09.05.07, 20:37
HI,

ich will I2C-Geräte unter einem Linux benutzen, habe aber leider absolut keine Ahnung was ich dafür so machen muss. Bin leider ein totaler Neuling was Linux angeht! Laufen soll das ganze auf einem sog. Gumstix.
Ich habe gehört das man das als "normale Devices" nutzen kann?! Kann mir hier jemand ein paar hilfreiche Tipps geben oder mir verraten wo man sich über sowas schlau machen kann??

mfg

corresponder
09.05.07, 20:42
http://www.google.de/search?q=I2C+linux&btnG=Search&hl=en

gruss

c.

almoeli
10.05.07, 08:23
Hi,

zum Thema Linux auf dem Gumstix kann ich nur das ELDK (Embedded Linux Development Kit) empfehlen. Da gibt es auch einige Doku dazu und man kann sich eine Cross Entwicklungsumgebung aufsetzen.

http://www.denx.de/wiki/DULG/ELDK

Unterstützung für die PXA Familie und Treiber für deren I2C Bus ist in neueren Kerneln verfügbar.
Ob natürlich dann auch der Baustein am Ende des I2C Busses Unterstützung findet kann ich anhand deiner Informationen nicht beuerteilen.

Gruß

almoeli

sebbel
11.05.07, 20:36
wenn Du uns sagst, welchen Chip Du als Master verwenden willst, dann kann man Dir sicherlich weiterhelfen :)

FIAN03
15.05.07, 16:10
HI,

danke erstmal für die Antworten !!

Ich fürchte nur leider habe mich wohl ein wenig falsch ausgedrückt :(
Mir ging es in erster Linie darum zu wissen wie man I2C-Geräte aus einem Programm heraus ansprechen kann.
Von der Hardwareseite aus denke ich sollte ich da nicht so Problem haben werde, da ich schon entsprechende Module für I2C-Devices gefunden habe und das "Buildroot" für den Gumstix, mit dem ich die Software Crosskompilieren kann funktioniert schon. Es müssen zwar noch ein paar Anschlüße an den Gumstix gelötet werden bis man alles physikalisch zusammenschliessen kann aber das wird wohl gehen.

Aber wie gesagt wollte ich eigentlich wissen wie man nun so ein Gerät dann ansprechen kann - softwaretechnisch. Wie ist es überhaupt in Linux integriert ? Gibt es dann sowas wie /dev/i2c ? Kann man normale "open" Funktionen nutzen ? Das sind so Fragen die mich im Moment interessieren. Bin ich damit hier noch richtig oder sollte ich lieber bei den "Linux Applikationen" mein Glück versuchen ??

gruß

almoeli
16.05.07, 07:50
Hi,

man kann die I2C Geräte über Device Nodes ansprechen. Dazu muss allerdings das i2c-dev Modul geladen sein.
Bei I2C sind das:

/dev/i2c-0
/dev/i2c-1
usw.

Die Nodes haben die Major Number 89 und als Minor Number den Index des gefundenen I2C Adapters. Informationen über gefundene Adapter kann man unter /sys/class/i2c-dev/i2c-[x] abrufen.
Die Bedienung der Device Nodes ist gut in der Kerneldokumentation erklärt. Zu finden ist das in den Kernel Sourcen im Verzeichnis Documentation/i2c/. Die Datei dev-interface enthält hoffentlich alle für dich wichtigen Informationen.

Gruß

almoeli