SR501驱动调试笔记(一)

sr501是一种人体红外模块,能够检测人或动物发射的红外线输出电信号,广泛应用于各种自动化控制装置中。在百问网出品的100ASK_IMX6ULLPro版上添加这个设备的驱动。

在系统中先添加设备的硬件信息就要修改设备树。设备树用来给内核里的驱动程序,指定硬件的信息。

添加结点如下:

sr501{
                compatible = "100ask,sr501";
                gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
};

这个节点涉及两个方面:

(1)compatible属性

 根节点下含有compatile属性的子节点才会被转换为platform_device。

(2)GPIO信息

在设备树中指定:添加”[name]-gpios”属性,指定使用的是哪一个GPIO Controller里的哪一个引脚,还有其他Flag信息,比如GPIO_ACTIVE_LOW等。

使用引脚,一般还会使用Pinctrl来制定引脚功能。但是此设备只是使用引脚的输入功能,而Pinctrl系统默认将引脚配置为GPIO,所以在这个设备节点中可以省略对Pinctrl的配置。设备节点放置在设备树根节点位置。

编写完成后生成设备树文件,使用如下命令,更新开发板设备树。

[root@100ask_imx6ull:~]# cp /mnt/zImage  /boot
[root@100ask_imx6ull:~]# cp /mnt/100ask_imx6ull-14x14.dtb /boot/
[root@100ask_imx6ull:~]# sync

更新时要注意:

(1)一定要使用sync命令,由于文件内容比较大,不使用sync命令直接启动会导致系统文件不能及时刷写到flash中。

(2)一定要先更新zImage,再更新dtb文件,否则开发板会报错也无法启动。

重启以后,在下图的文件夹中发现sr501节点,说明已经成功添加了对应的设备

 下一节,介绍驱动代码的调试,敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值