本文根据http://www.wiki.xilinx.com/Linux%20GPIO%20Driver中提到的内容以及操作步骤,在zedboard上进行了实验。具体过程如下:
1. 使用 gpio-polled 驱动程序,添加设备树,更改内核配置,重新编译等等一系列操作,按照wiki上写的步骤搞下来就可以。有区别的地方就是可能因为使用 内核版本的不同,在 make menuconfig 阶段有些配置条目出现的位置与 wiki 上写的有那么一点点的不同,但是都可以找得到。细心翻一翻内核配置和界面就可以。
2. 修改设备树文件,我使用的是第三个 EMIO ,所以配置为:(zynqPS有54个mio编号为0-53,EMIO要从编号54开始,第三个EMIO的编号就为53+3=56,)设备树中的各种属性的说明见 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/input/gpio-keys-polled.txt 文档。
gpio_keys_polled {
compatible =