2

使用此处描述的编译的 linux 内核,我正在尝试按照此 wiki 使 LED 闪烁:Linux GPIO 驱动程序。我正在使用 Xilinx 的 Zybo 板。

我启用了内核选项:

CONFIG_GPIO_SYSFS=y
CONFIG_SYSFS=y
CONFIG_GPIO_XILINX=y

我检查了我是否已在 /sys 中安装了 SysFs

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

echo 7 > /sys/class/gpio/export

我总是得到这个错误:

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

145 (138+7)由于我在这里找到的解释,我还尝试导出这些值: forum_link和 86,因为这个人得到了工作basic_example的东西。但我总是得到同样的错误。

你能给我一些帮助吗?也许我必须使用其他偏移量?还是与权限配置更相关??

4

1 回答 1

6

我遇到了同样的问题。解决方案是添加 906 作为“address-gpio”的“base”。例如,如果你想管理连接到 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

于 2016-10-19T12:53:16.853 回答