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

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

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

相关推荐
FrozenLove_G2 小时前
服务器的BMC内部有系统吗?
stm32·单片机·嵌入式硬件
SongYuLong的博客2 小时前
openwrt源码编译环境搭建-安装Luci
linux·嵌入式硬件
宇宙realman_9992 小时前
DSP中断工作原理
单片机·嵌入式硬件
hazy1k3 小时前
ESP32基础-UART_串口通信
stm32·单片机·嵌入式硬件·51单片机·esp32
d111111111d4 小时前
STM32通信协议学习--I2C通信(了解)
笔记·stm32·单片机·嵌入式硬件·学习
雾岛听风眠5 小时前
STM32通信接口----USART
stm32·单片机·嵌入式硬件
Rousson6 小时前
硬件学习笔记--89 MCU主频对Uart波特率影响及采样点
笔记·单片机·学习
呉師傅6 小时前
国产化操作系统---银河麒麟安装步骤(简单介绍)
运维·网络·windows·单片机·电脑
树欲静而风不止慢一点吧7 小时前
在STM32 HAL库中使用 WFI 实现低功耗准确延时
stm32·单片机·嵌入式硬件
真的想上岸啊7 小时前
开发STM32日记1:安装软件、配置软件(芯片为STM32F103C8T6 )
stm32·单片机·嵌入式硬件