2016-10-19 3 views
2

Mit einem Linux-Kernel kompiliert, wie es beschrieben wird here, ich versuche, eine LED blinken zu machen, die diesem Wiki folgt: Linux GPIO Driver. Ich arbeite mit einem Zybo-Board von Xilinx.SysFs-Schnittstelle. Ich kann keine gpio pins in einem Zybo Board exportieren

aktiviert ich die Kernel-Optionen:

CONFIG_GPIO_SYSFS=y 
CONFIG_SYSFS=y 
CONFIG_GPIO_XILINX=y 

Ich habe, dass ich in/sys montiert haben sysfs

Ich möchte den Stift 7 des MIO-Port konfigurieren, da es zu dem geführt angebracht ist LD4 in der Tafel. So habe ich diesen Ausdruck:

echo 7 > /sys/class/gpio/export 

Und ich diesen Fehler immer erhalten:

export_store: invalid GPIO 7 
ash: write error: Invalid argument 

Ich habe auch wegen der Erklärung die Werte 145 (138+7) zu exportieren versuchte ich hier gefunden: forum_link und 86, weil dieser Kerl habe die Dinge funktioniert basic_example. Aber ich habe immer denselben Fehler erhalten.

Können Sie mir Hilfe geben? Vielleicht muss ich einen anderen Offset verwenden? Oder ist es mehr mit der Berechtigungskonfiguration verbunden?

Antwort

4

Ich konfrontiert das gleiche Problem. Die Lösung besteht darin, 906 als "Basis" des "Adress-GPIO" hinzuzufügen. Zum Beispiel, wenn Sie den Stift des PS verbunden MIO 7 verwalten möchten, sollten Sie etwas tun:

zynq> echo 913 > /sys/class/gpio/export 
zynq> echo out > /sys/class/gpio/gpio913/direction 
zynq> echo 1 > /sys/class/gpio/gpio913/value 

(wo 906 + 7 = 913 natürlich).

Oder, wenn Sie wollen, um sie auszuschalten:

zynq> echo 0 > /sys/class/gpio/gpio913/value 

Wie finde ich diesen Wert? Nun, in meinem Fall war ich einfach nur Glück: Wenn Sie einen Blick in

ls /sys/class/gpio 

können Sie sehen, dass es bereits gpiochip906 existiert. Gehen Sie in dieses Verzeichnis und schauen Sie in die Datei base (zB mit "less"): es gibt natürlich nur den Wert 906

+0

Vielen Dank, das war genau was ich brauchte. Jetzt kann ich die LED zum Blinzeln bringen. – Arturete

Verwandte Themen