[imx6ul]arm linux gpio控制使用/dev/gpio 实现

arm linux gpio控制使用/dev/gpio 实

1、在设备树文件中添加设备节点定义以及其引脚定义:

122222.png122223.png

并将其他复用引脚对应的功能disabed,保证这些引脚没被重复定义使用。引脚的pinmux可以查看imx6ul-pinfunc.h文件。




2、在driver/misc/gpio目录下添加gpio驱动gpio-user.c,名字需要与节点定义里的驱动名字保持相同,客户也可以自己写驱动。同时添加KconfigMakefile文件。

修改driver/miscKconfigMakefile文件:

driver/misc/Makefile 中添加:

obj-y            += gpio/

编辑driver/misc/Kconfig, 添加一行:

source "drivers/misc/gpio/Kconfig",如图:

1222e.png

在根目录下修改linux_imx6ul_config文件,添加:

CONFIG_GPIO_USER_INTF=y

3、编译。

make zImage

make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- dtbs

 

4、拷贝前面生成的zImage, imx6ul-14x14-evk.dtb 到 SD卡system目录中,SD卡方式烧录。

dev下有gpio节点。

 

采用gpio-test.c为用户测试程序。编译为gpio-test

使用gpio-test in 2测试DI

使用gpio-test out 0 1 测试DO1 输出为高电平。

使用gpio-test out 0 0 测试DO1 输出为低电平。


 适用于imx6ul

[ld]链接:https://pan.baidu.com/s/1FjUdAlUHQZm1QuJBeerOzA 
提取码:ferd 
复制这段内容后打开百度网盘手机App,操作更方便哦
[/ld]



最新评论

  1. 发布于:2020-09-29 17:37 回复
    思路懂了,没看到测试例程的源码在哪儿
    1. 发布于:2020-09-30 17:02 回复
      @sniper33:已经更新
      1. 发布于:2020-10-03 20:30 回复
        @小v:哪里

sitemap