OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1327|回复: 1

linux驱动开发指南第五十八章input子系统实验申请中断失败的原因以及解决办法

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-2
在线时间
2 小时
发表于 2023-8-4 17:42:14 | 显示全部楼层 |阅读模式
书上给的例程以及示例程序直接编译在板子上加载会显示申请中断失败,原因是书上第五十八章给的教程上,设备树代码没有把GPIO的中断添加上去

实际应该在这部分设备树代码的基础上添加中断的相关属性,将设备树节点添加下面这两个中断属性(下面截图来自驱动开发指南51.3.1节中断实验章节):

修改完设备树再编译加载书上例程代码就可正常申请中断运行接下来程序!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-6-2
在线时间
2 小时
 楼主| 发表于 2023-8-4 17:48:38 | 显示全部楼层
怎么发不了图片?那就直接给设备树的节点代码
49.3.1的设备树代码如下,没有添加中断相关属性,故不能申请中断


// ============示例代码 49.3.1.2 创建 KEY 节点 ==================
1 key {
2     #address-cells = <1>;
3     #size-cells = <1>;
4     compatible = "atkalpha-key";
5     pinctrl-names = "default";
6     pinctrl-0 = <&pinctrl_key>;
7     key-gpio = <&gpio1 18 GPIO_ACTIVE_LOW>; /* KEY0 */
8     status = "okay";
9 };



需要将其修改为:

        key{
                #address-cells = <1>;
                     #size-cells = <1>;
                compatible = "alientek-key";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_key>;
                key-gpio = <&gpio1 18 GPIO_ACTIVE_LOW>;
                interrupt-parent = <&gpio1>;
                interrupts = <18 IRQ_TYPE_EDGE_BOTH>; /* FALLING RISING */
                status = "okay";
        };
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 09:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表