iTOP-iMX6开发板-GPIO读写配置文档_V1.0《2》

本文档主要介绍 iMX6 板子 gpio 引脚读写配置。有关平台文件的设备注册的资料可以参

考“iTOP-iMX6-平台文件注册设备”文档。注册的设备名称是“gpio_ctl”。

硬件环境:iMX6 开发板:核心板 v_1.2、底板 v_2.2(以及 v_2.1 底板)。

软件环境:Ubuntu12.04。

1.4 平台文件修改

进入 iTOPiMX6_android4.4.2/kernel_imx/arch/arm/mach-mx6/目录,使用 vi

board-mx6q_topeet.c 命令,打开 board-mx6q_topeet.c 文件。

搜索关键词“CONFIG_LEDS_CTL”,按照 leds 模块,添加 gpio 的配置。如下如所示。

修改完成后,保存退出。再次打开 board-mx6q_topeet.c 文件。

搜索关键词“LEDS_CTL”,按照 leds 模块,添加 gpio 配置。如下图所示。

添加完成后,保存退出。

接着进入“iTOP-iMX6_android4.4.2/kernel_imx/drivers/char”目录,使用“vi

Kconfig”命令打开 Kconfig 文件。

搜索关键词”LEDS_CTL”,按照 leds 模块,添加 gpio 配置。如下图所示。

修改完成后,保存退出。

可按下面步骤验证一下。

进入内核目录,依次使用命令”cp config_for_iTOPiMX6_linux .config”、” export

ARCH=arm”、”make menuconfig”。进入 Device Drivers →Character devices 目

录,可以看见新添加的配置。如下图所示。

选中,退出,按照”iTOP-i.MX6 开发板之全能版使用手册”中的内核编译步骤,进行编

译内核。重新烧写到开发板。

开发板启动后,使用命令“ls /sys/devices/platform/”可以查看到新注册的 gpio_ctl 设

备。如下图所示。

至此,设备注册完成。

1.5 驱动加载及应用测试

1.5.1 读操作

具体编译过程不再赘述。依然可以参考“iTOP-iMX6-GPIO 读取 GPIO 以及拨码开关状

态”文档。下面讲解加载过程和测试过程。

可以通过挂载 nfs 共享目录、tftp 传输文件和 U 盘挂载等方法,把 iTOP-

iMX6_gpio_read.ko 文件上传到开发板。

使用 insmod 命令加载驱动模块。如下图。

在 probe 函数中,有获取 gpio 状态的函数,然后打印出来。如下图。

下面使用”./iMX6_gpio_read”命令运行应用测试程序,检测 gpio 状态。如下图。

此时检测到的状态和刚加载驱动时状态一致。

通过驱动程序,我们可以得知,第一个 gpio 为 1 号拨码开关。后面依次为 U38 接口,1

号、2 号、3 号、10 号、12 号引脚。如下图。

接下来我们做一些连接,然后再运行测试程序,进行检测状态。

通过上述的底板原理图我们知道。U38 接口的 4 号引脚接地。11 号引脚接 3.3v 电源。

把 1 号拨码开关拨下来、通过导线连接 U38 接口 1 号引脚和 4 号引脚。然后使用

“./iMX6_gpio_read”命令,运行测试程序。结果如下图。

由上图可知,和我们预期相同。

使用引线连接 11 号引脚和 12 号引脚、使用引线连接 4 号引脚和 2 号引脚。然后使用

“./iMX6_gpio_read”命令,运行测试程序。结果如下图。

测试完成。

1.5.2 写操作

与读操作类似。具体编译过程不再赘述。依然可以参考“iTOP-iMX6-GPIO 读取 GPIO

以及拨码开关状态”文档。下面讲解加载过程和测试过程。

可以通过挂载 nfs 共享目录、tftp 传输文件和 U 盘挂载等方法,把 iTOP-

iMX6_gpio_write.ko 文件上传到开发板。

使用 insmod 命令加载驱动模块。如下图。

在 probe 函数中,我们已经将各个 gpio 状态设置为 1,也就是高电平,如下图。

现在 U38 上的五个引脚均为高电平。通过万用表测量电压均为 3.3v(4 号、9 号引脚为

地)。下面调用应用程序,改变引脚的电压值。使用”./iMX6_gpio_write 0 1”命令改变 1

号引脚的电压值。如下图。

此时使用万用表测量引脚 1 的电压值。为 0V。

下面说明一下运行应用程序时,传递的两个参数。第一参数 cmd 表示状态。1 表示高电

平、0 表示低电平。第二个参数 arg 表示对应操作的 gpio。arg 为 0 表示 1 号拨码开关、为

1~5 表示 U38 接口的 1 号、2 号、3 号、10 号、12 号引脚。

下面把 1 号引脚拉高,10 号引脚拉低。使用命令”./iMX6_gpio_write 1 1”

和”./iMX6_gpio_write 0 4”。如下图。

使用万用表测量这两个引脚的电压。1 号引脚为 3.3v,10 号引脚为 0v。

测试完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值