系统接口。我无法在 Xilinx 板(Zybo 和其他)中导出 gpio 引脚

SysFs interface. I can't export gpio pins in a Xilinx's Board (Zybo and other)

使用 linux-kernel 按照描述编译 here, I'm trying to make a led blinking following this wiki: Linux GPIO Driver。我正在使用 Xilinx 的 Zybo 板。

我启用了内核选项:

CONFIG_GPIO_SYSFS=y
CONFIG_SYSFS=y
CONFIG_GPIO_XILINX=y

我检查过我已经在 /sys 中安装了 SysFs

我想配置MIO端口的pin 7,因为它连接到板上的led LD4。所以我用了这个表达式:

echo 7 > /sys/class/gpio/export

而且我总是得到这个错误:

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

我也尝试导出值 145 (138+7),因为我在这里找到了解释:forum_link and 86 because this guy got the things working basic_example。但是我总是得到同样的错误。

你能帮我点忙吗?也许我必须使用其他抵消?还是跟权限配置更相关??

我遇到了同样的问题。解决办法是在"address-gpio"的"base"中添加906。例如,如果你想管理连接到 MIO 7 的 PS 的引脚,你应该这样做:

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

(当然是 906+7=913)。

或者,如果您想将其关闭:

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

如何找到这个值?好吧,就我而言,我很幸运:如果你看看

ls /sys/class/gpio

你可以看到它已经存在gpiochip906。进入这个目录并查看文件 base(例如使用 "less"):当然只有值 906