设备树与中断,操作系统如何使用中断

设备树中会对中断进行描述:
在这里插入图片描述
首先 cpu工程师会写好中断控制器的设备树节点, 里面会定义寄存器以及如何描述中断, gpio@0209…中有两个属性, 一是gpio-controller 二是interrupt-cells。后者表示该设备是一个中断控制器。
interrupt-cells表示用两个属性描述中断。

之后再来看下面的连接到中断控制器的设备
interrupts属性可以描述多个中断, 该示例只描述了一个中断, 用9 0描述。9代表中断控制器的中断号, 而0代表高低电平触发相关。irq-gpios属性则描述了该设备连到了第几个中断控制器, 该中断控制器的第几个中断号, 用什么电平触发。和interrupts有重合?

下面是一个例子
中断描述
在这里插入图片描述

内核获取中断
先是用of_find_node_by_name获取设备树节点
然后用irq_of_parse_and_map获取可以使用的中断号
之后就可以用request_irq(irq, handler)去申请中断处理函数了。

总结:
先有硬件电路, 然后设备树描述硬件电路,linux内核通过设备树知道了硬件电路。在内核中生成了一个中断号代表所有中断。之后就可以用request_irq设置中断函数了。
在这里插入图片描述

reference
设备树与中断
https://www.bilibili.com/video/BV1sM411475h?p=7&vd_source=378aafb211994a6d9b19c51b8c69b7be
linux中获取中断 并设置中断处理函数
https://www.bilibili.com/video/BV1sM411475h?p=26&vd_source=378aafb211994a6d9b19c51b8c69b7be

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值