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

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

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

相关推荐
加成BUFF11 分钟前
树莓派5控制WS2812 RGB灯带:原理、接线与实战指南
python·嵌入式硬件·远程连接·ws2812·树莓派5
清风66666626 分钟前
基于单片机的架空线路接地故障检测与报警系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
恶魔泡泡糖33 分钟前
keil4创建工程项目
c语言·单片机
ACP广源盛1392462567337 分钟前
GSV1011@ACP#1011产品规格详解及产品应用分享
嵌入式硬件·计算机外设·音视频
驱动探索者43 分钟前
[缩略语大全]之[芯片半导体]篇
嵌入式硬件
ChatGPT51 小时前
xshell查看单片机串口日志时换行多出空格问题
单片机·嵌入式硬件
k期1 小时前
STM32初学---总线:AHB、AHP / EEPROM、SPI FLASH、EMMC
笔记·stm32·单片机
anghost1501 小时前
基于 STM32 的图书馆座位智能管理系统设计与实现
stm32·单片机·嵌入式硬件
小痞同学1 小时前
stm32外部中断实验
stm32·单片机·嵌入式硬件
d111111111d1 小时前
C语言中union(共同体)的特电是什么?STM32中常用于处理什么数据?
c语言·arm开发·笔记·stm32·单片机·嵌入式硬件·学习