2013-04-16 23 views

Antwort

10

Auf dem Boundary Devices-Kernel und möglicherweise anderen können Sie cat /sys/kernel/debug/gpio verwenden, um eine Liste der zugeordneten gpios, deren Status und den Namen zu erhalten, der bei der Zuweisung angegeben wurde. Sie können die Kernel-Quelle für den Namen grep und herausfinden, welches Modul sie ergriff.

[email protected]:/opt# cat /sys/kernel/debug/gpio 
GPIOs 0-31, platform/209c000.gpio, 209c000.gpio: 
gpio-2 (flexcan-trx-stby ) out lo  
gpio-17 (DISP_SCL   ) out lo  

GPIOs 32-63, platform/20a0000.gpio, 20a0000.gpio: 
gpio-33 (sysfs    ) out lo  
gpio-35 (sysfs    ) in hi  
gpio-36 (sysfs    ) in hi  
gpio-37 (DISP_SDI   ) out lo  
gpio-38 (219c000.usdhc cd ) in hi  

GPIOs 64-95, platform/20a4000.gpio, 20a4000.gpio: 
gpio-83 (spi_imx   ) out lo  
gpio-86 (usb_otg_vbus  ) out lo  

GPIOs 96-127, platform/20a8000.gpio, 20a8000.gpio: 
gpio-101 (sysfs    ) in hi  
gpio-116 (rst-gpios   ) out lo  

GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio: 

GPIOs 160-191, platform/20b0000.gpio, 20b0000.gpio: 
gpio-175 (wlan-en   ) out lo  
gpio-176 (bt_rfkill_reset ) out lo  

GPIOs 192-223, platform/20b4000.gpio, 20b4000.gpio: 
gpio-192 (2198000.usdhc cd ) in lo  
gpio-204 (ehci_reset_gpio ) out lo  
gpio-205 (sysfs    ) in lo  

'

+0

Danke, das sieht sehr nützlich aus. Ich frage mich, ob es vor 3 Jahren existierte. –

+0

Wahrscheinlich. Ich suchte nach der gleichen Frage und fand keine Antwort, also habe ich einfach 'find/sys -name gpio' gefunden und diese gefunden, was mich wissen ließ, dass ich das falsche GPIO anforderte. –

0

Sie können den Befehl 'lsof' verwenden, um die geöffneten Dateien aufzulisten. Tatsache ist, dass GPIO-Dateien reguläre Dateien sind. (z. B./sys/class/gpio/gpio242/Wert).
Auch sollten Sie sicher sein, die richtigen Kernel-Module (mit insmod oder modprobe) in den Speicher zu laden.

+1

Das wird nicht funktionieren, da die sysfs Knoten noch nicht vorhanden ist. Wenn Sie die zu exportierende GPIO-Nummer vergleichen, sollte der Knoten erstellt werden, aber nicht. –

+0

Wenn Sie das richtige Kernelmodul laden, können Sie das gesamte verfügbare gpio im Verzeichnis/sys/devices/virtual/gpio/sehen. Was ist dein Inhalt des Verzeichnisses? Sie können die Etikettendatei sehen, um ihre tatsächliche Position in Schaltplänen zu verfolgen. – paykoob

1

Wir verwendeten einen anderen GPIO-Pin. i.mx6 hat 7 GPIO-Controller mit jeweils 32 Pins, und einige Conroller haben einfach aus dem Nichts I/O-Fehler aus gegeben.

Verwandte Themen