Hallo zusammen, in letzter Zeit habe ich vmtl. zu viel ueber GPIO's gelesen. Hier geht es um einen PC104 / CS5535 mit 8 GPIO's. Mein aktueller Kernel liefert nun endlich auch den Support dafuer: # z.B.: Bereitstellung von GPIO7 im Userspace echo 7 > /sys/class/gpio/export erstellt mir ganz brav /sys/devices/virtual/gpio/GPIO7 Das scheint alles prima zu laufen. ABER... Wird das alles im sysfs abgewickelt, oder fehlen mir die /dev/gpio<nodes> ??? Hier bin ich gerade etwas ratlos und keine der vielen Doku's hilft mir wirklich weiter. Als Einstiegspunkt fand ich diese sehr hilfreich: http://www.mjmwired.net/kernel/Documentation/gpio.txt Hat wer Erfahrung mit dem Kram??? PS.: Ich habe auch gelesen, dass beim Laden von modprobe i2c-dev modprobe i2c-gpio automatisch die /dev/nodes erstellen werden sollen... nix passiert! Vielleicht denke ich auch schon wieder quer und muss mal pausieren. MfG Th. Moritz -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Montag, 20. Dezember 2010 20:24:14 schrieb Bernhard Walle: Hallo Bernhard,
Das scheint alles prima zu laufen. ABER... Wird das alles im sysfs abgewickelt, oder fehlen mir die /dev/gpio<nodes> ???
Geht alles über sysfs. Was fehlt dir denn an Funktionalität?
Ich habe das Testinterface noch nicht hier! Da Du mir bestaetigst, dass alles im sysfs ablaeuft, bin ich beruhigt! Danke Dir! Jetzt gebe mir noch einen heissen Tip, wie ich einen 2.6er Kernel innerhalb von 10s [1] zum Booten bewegen kann... Die .config schrumpft und schrumpft. Momentan baue ich mit AMD-only- Support... dauert noch... Vermutlich muss ich mal einen Test ohne USB/UDEV starten, dann kann der SCSI-Kram auch raus :-) Leider wird USB "gewuenscht" :-( Vielleicht ueberzeugt aber die resultierende Bootzeit. PS.: Bootzeit von 'grub' bis 'busybox' MfG Th. Moritz -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am 20.12.10 21:11, schrieb Thomas Moritz:
Vermutlich muss ich mal einen Test ohne USB/UDEV starten, dann kann der SCSI-Kram auch raus :-) Leider wird USB "gewuenscht" :-( Vielleicht ueberzeugt aber die resultierende Bootzeit.
Bei einem Minimalsystem (ich denke mal du redest von Embedded und nicht Workstation/Server) reicht eigentlich das devtempfs, udev/mdev [1] brauchst du nicht unbedingt. 10 sec sollten eigentlich zu machen sein, ggf. musst du erstmal analysieren wo die Zeit verloren geht. Gruß, Bernhard [1] der udev-Ersatz der Busybox, ziemlich IMO verbuggt
Am Montag, 20. Dezember 2010 21:41:46 schrieb Bernhard Walle: Hallo Bernhard,
Vermutlich muss ich mal einen Test ohne USB/UDEV starten, dann kann der SCSI-Kram auch raus :-) Leider wird USB "gewuenscht" :-( Vielleicht ueberzeugt aber die resultierende Bootzeit.
Bei einem Minimalsystem (ich denke mal du redest von Embedded
Ja!
und nicht Workstation/Server) reicht eigentlich das devtempfs,
hierzu fehlt mir ein Konzept! [1]
udev/mdev [1] brauchst du nicht unbedingt. 10 sec sollten eigentlich zu machen sein, ggf. musst du erstmal analysieren wo die Zeit verloren geht.
Das scheint auf einem abgespekten System wiederum ziemlich schwierig zu werden. Die Forderungen: -libc -C++ POSIX Threading -Zugriffsmoeglichkeit ueber LAN (cross) -FileSystem fuer die Anwendung _ist_ 'vfat' (2. Partition auf CF) -4xRS232 -8xGPIO -USB (evtl. ftdi) [1] Ich orientiere mich aktuell an "TinyCore". Ist das vielleicht der falsche Weg? MfG Th. Moritz -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am 20.12.10 22:18, schrieb Thomas Moritz:
und nicht Workstation/Server) reicht eigentlich das devtempfs,
hierzu fehlt mir ein Konzept! [1]
Einfach aktivieren und fertig...
[1] Ich orientiere mich aktuell an "TinyCore". Ist das vielleicht der falsche Weg?
Kenne ich nicht. Gruß, Bernhard
Am Montag, 20. Dezember 2010 20:24:14 schrieb Bernhard Walle: Hallo und ein "Frohes Fest"!
Am 20.12.10 19:35, schrieb Thomas Moritz:
Das scheint alles prima zu laufen. ABER... Wird das alles im sysfs abgewickelt, oder fehlen mir die /dev/gpio<nodes> ???
Geht alles über sysfs. Was fehlt dir denn an Funktionalität?
Ich habe nun eine Testschaltung hier: GPIO0, GPIO1 -> out > mit LED GPIO4, GPIO5 -> in > mit Taster Es existiert /sys/class/gpio/gpiochop0 ngpio=32. base=0, label=cs5535-gpio Zum Test habe ich per while herausgefunden, dass sich die GPIOs: 0-22 und 24-27 anlegen lassen. (mehr nicht in der Schleife bis 254) echo $n > /sys/class/gpio/export Zum Test der LEDs habe ich auf alle GPIOs die "direction" auf out gesetzt: echo "out" > /sys/class/gpio/GPIO$n/direction Die LEDs sollten imho mit echo 1 > /sys/class/gpio/GPIO$n/active_low ausgehen... Die Pins haben stets +5,2V und ich finde keine Moeglichkeit, die LEDs abzuschalten (die PINs auf 0V zu setzen). Die Steuerung ueber "value" aendert nichts! dmesg meldet - der Support fuer CS5535-GPIO ist erfolgreich eingerichtet. Der Input der Taster sollte doch ueber echo "in" > /sys/class/gpio/GPIO$n/direction cat /sys/class/gpio/GPIO$n/value abfragbar sein? Keine Aenderungen bei on/off! Bin ratlos und drehe mich irgendwie im Kreis :-( Ich wuerde mich freuen, wenn mir jemand einen heissen Tip geben koennte. Getestete Kernel sind: 2.6.33.3 und 2.6.36.2. MfG Th. Moritz -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Am Montag, 20. Dezember 2010 20:24:14 schrieb Bernhard Walle: Hallo und ein "Frohes Fest",
Am 20.12.10 19:35, schrieb Thomas Moritz:
Das scheint alles prima zu laufen. ABER... Wird das alles im sysfs abgewickelt, oder fehlen mir die /dev/gpio<nodes> ???
Geht alles über sysfs. Was fehlt dir denn an Funktionalität?
Auf dem "richtigen" Blockschaltbild ist zu erkennen, dass sich zwischen dem CS5535 und den GPIO-Pins noch ein "PCA9554" befindet. Jetzt muss ich mich erstmal weiter belesen. Hoffentlich werde ich in den Kernel-Doc's fuendig... Die Module pca953x und leds-pca955x muss ich imho in den Kernel mit aufnehmen. MfG Th. Moritz -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
participants (2)
-
Bernhard Walle
-
Thomas Moritz