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

设备树中会对中断进行描述:

首先 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

相关推荐
blevoice11 分钟前
杰理蓝牙音箱开发板AC696N上演示降本设计:AC696N“省晶振”方案配置
单片机·嵌入式硬件·jl杰理蓝牙音频芯片·杰理ac696n开发板·ac6966b蓝牙音响芯片·蓝牙芯片ble透传·杰理蓝牙音箱方案开发
Ww.xh40 分钟前
STM32+ESP8266智能农业系统开发指南
stm32·单片机·嵌入式硬件
charlie11451419141 分钟前
嵌入式Linux驱动开发(3)——内核模块机制 - Linux 的插件系统
linux·运维·开发语言·驱动开发·嵌入式硬件·学习
yong999044 分钟前
在 STC15W201S 上实现 MODBUS RTU 协议
stm32·单片机·嵌入式硬件
xzl041 小时前
瑞萨 FSP 和 STM32 HAL 库的启动流程核心差异
stm32·单片机·嵌入式硬件·rt-thread
芯希望1 小时前
XBLW芯伯乐XBL1507B系列3A 150kHz 40V DC-DC转换器,高效率宽输入电源解决方案
单片机·嵌入式硬件·dc-dc·工业控制·国产替代·电源管理·xblw芯伯乐
不做无法实现的梦~2 小时前
STM32 蜗轮蜗杆电机控制系统设计
stm32·单片机·嵌入式硬件
foundbug9992 小时前
STM32 上实现 Modbus-RTU
stm32·单片机·嵌入式硬件
飞睿科技2 小时前
飞睿智能5.8G毫米波雷达智能猫砂盆检测方案
嵌入式硬件·物联网·雷达·智能猫砂盆·宠物用品
小叮当⇔2 小时前
TI电源管理芯片——TPS65251RHAR手册
单片机·嵌入式硬件