Linux驱动按键中断实验:添加按键节点的中断信息

一.  简介

接下来开始实现按键中断实验。

本文来学习向设备树文件中添加按键节点的中断信息。

二.  添加按键节点的中断信息

前面的按键输入实验中,已经向设备树文件中添加了 按键 key的设备节点信息,这里再向key按键节点中添加中断信息。

1.  添加按键的中断信息

因为按键key的设备节点添加在 设备树文件 imx6ull-14x14-evk.dts设备树文件中。所以,这里打开 imx6ull-14x14-evk.dts文件,向 按键key的设备节点添加如下的中断信息:

interrupt-parent = <&gpio1>;
interrupts = <18 IRQ_TYPE_EDGE_BOTH>; 

添加完整后如下:

/* WeiWuXian //2024/03/03*/
    key{
        compatible = "alientek, key";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_key>;
        key-gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
        status = "okay";
        interrupt-parent = <&gpio1>;
		interrupts = <18 IRQ_TYPE_EDGE_BOTH>;  
        
    };   

2.  编译设备树文件

进入 以上 kernel源码的根目录下,终端输入 "make dtbs"命令:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ make dtbs

3.  拷贝设备树文件到 tftp服务相关目录下

注意:因为这里开发板采用 tftp服务加载的方式,加载设备树文件 imx6ull-alientek-nand.dtb与 zImage(即内核镜像文件)到开发板的。

将编译生成的设备树文件 imx6ull-alientek-nand.dtb拷贝到 tftp服务所设置的目录下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ sudo cp ./arch/arm/boot/dts/imx6ull-alientek-nand.dtb /home/wangtian/linux/tftp_file/ -f
[sudo] wangtian 的密码: 

三.  测试按键节点信息

开发板上电后,进入 "/proc/device-tree"目录下,查看按键 key的设备节点:

进入 key的设备节点目录下,查看中断信息是否存在:

可以看出,按键key的设备节点下中断信息已经存在,说明按键中断节点已经创建好。

接下来就是实现按键中断代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值