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

news2024/11/15 23:27:37

设备树中会对中断进行描述:
在这里插入图片描述
首先 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1144159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostGreSQL模式schema

问题引入 之前在做数据库设计时,经常会忽略schema模式,直接在数据库下的public模式下建立各类数据表。如果数据表命名不够规范,后期寻找某张表时就会比较麻烦。通过 所幸,PostgreSQL 的模式schema管理,可以对这个问题…

吴恩达《机器学习》2-1:模型描述

一、单变量线性回归 单变量线性回归是监督学习中的一种算法,通常用于解决回归问题。在单变量线性回归中,我们有一个训练数据集,其中包括一组输入特征(通常表示为𝑥)和相应的输出目标(通常表示为…

RabbitMQ消费者的可靠性

目录 一、消费者确认 二、失败重试机制 2.1、失败处理策略 三、业务幂等性 3.1、唯一消息ID 3.2、业务判断 3.3、兜底方案 一、消费者确认 RabbitMQ提供了消费者确认机制(Consumer Acknowledgement)。即:当消费者处理消息结束后&#x…

如何学好机器学习?机器学习一定需要下面这几方面知识!

学好机器学习需要有一定的数学基础和计算机编程基础。总结一下,学机器学习需要下面这几方面知识: 数学基础:机器学习中很多方面都设计到了数学知识,较好的数学知识可以在理解和应用机器学习中发挥积极的作用,一般包括…

翻页电子杂志制作方法,看完有手就行

你还在使用传统的纸质杂志进行宣传推广嘛?不打算紧跟时代的发展,融入互联网制作在线翻页电子杂志嘛!电子杂志具有成本低,易于传播,宣传速度快,推广范围大,而且制作电子杂志也很easy噢&#xff0…

支持Lrc2024 Boris FX Optics最新 for mac

Boris FX Optics是一款强大的图像处理软件,提供了各种专业级的特效和滤镜,用于增强和改善视频和图像的外观。该软件适用于照片编辑、摄影、视频制作等领域,具有广泛的应用范围。 Boris FX Optics功能包括但不限于以下几个方面: …

iOS iGameGuardian修改器检测方案

一直以来,iOS 系统的安全性、稳定性都是其与安卓竞争的主力卖点。这要归功于 iOS 系统独特的闭源生态,应用软件上架会经过严格审核与测试。所以,iOS端的作弊手段,总是在尝试绕过 App Store 的审查。 常见的 iOS 游戏作弊&#xf…

删除A文件夹中 AB文件夹共有的文件

import ospath r"Z:\Users\86152\Desktop\chui shen-sw" chui_shen os.listdir(path)# print(chui_shen) # print(len(chui_shen)) for i in chui_shen:os.remove(rZ:\Users\86152\Desktop\ce shen-sw/ i)A文件夹: B文件夹: 我这个情况是 A文…

十九、类型信息(2)

本章概要 Class 对象 类字面常量泛化的 Class 引用cast() 方法 Class 对象 要理解 RTTI 在 Java 中的工作原理,首先必须知道类型信息在运行时是如何表示的。这项工作是由称为 **Class**对象 的特殊对象完成的,它包含了与类有关的信息。实际上&#x…

STM32串口通信

数据通信的基础概念 在单片机的应用中,数据通信是必不可少的一部分,比如:单片机和上位机、单片机和外 围器件之间,它们都有数据通信的需求。由于设备之间的电气特性、传输速率、可靠性要求各 不相同,于是就有了各种通信…

基于布谷鸟算法的无人机航迹规划-附代码

基于布谷鸟算法的无人机航迹规划 文章目录 基于布谷鸟算法的无人机航迹规划1.布谷鸟搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用布谷鸟算法来优化无人机航迹规划。 1.布谷鸟…

[Python进阶] 消息框、弹窗:pymsgbox.alert

6.18 消息框、弹窗:pymsgbox.alert 作用: 显示带有文本和单个OK按钮的简单消息框。返回所单击按钮的文本。 参数: text “”, 消息框标题 title “”, 消息框内容 button pymsgbox.OK_TEXT, 消息框自带的按钮,默认为&#xff…

@TableField(fill = FieldFill.INSERT)这个注解的作用

TableField 是 MyBatis-Plus提供的一个注解,用于标注实体类的属性与数据库表的字段之间的映射关系。当你在一个实体类的属性上使用 TableField(fill FieldFill.INSERT) 注解时,你告诉 MyBatis-Plus 在插入记录时自动填充这个字段。 FieldFill.INSERT 是一…

Docker 网络管理及资源控制

目录 1 Docker 网络 1.1 Docker 网络实现原理 1.2 Docker 的网络模式 1.3 网络模式详解 1.3.1 host模式 1.3.2 container模式 1.3.3 none模式 1.3.4 bridge模式 1.3.5 自定义网络 1.4 创建自定义网络 2 资源控制 2.1 CPU 资源控制 2.2 对内存使用的限制 2.3 对磁盘…

如何在【逻辑回归】中优化控制正则化程度的超参数C

一.逻辑回归基本介绍 逻辑回归也称作logistic回归,是一种广义的线性回归分析模型,主要是用来解决二分类问题(也可以解决多分类问题)。通过训练集来训练模型,并在训练结束后对测试集进行分类。 通过激活函数&…

我该如何入门Python机器学习?

我是在研一的时候开始学习机器学习的。相对于题主来说,我更是一窍不通,Python都没有一点点基础。总结一下我在学习Python的过程,以及自己在学习机器学习过程中的用到的优质资源,也总结一下我的学习心得。 一、怎么学习Python&…

开放式耳机百元价位怎么选、公认最好的百元开放式耳机

开放式耳机采用挂耳式的佩戴方式,不需封闭耳道,这一创新设计允许我们欣赏音乐的同时保持对周围环境的感知,从而在户外运动、通勤或其他活动中提供更安全的体验。而且,在预算有限的情况下,我们可以在百元价位范围内找到…

JS中Map对象与object的区别

若想了解Map对象可以阅读本人这篇ES6初步了解Map Map对象与object有什么区别?让我为大家介绍一下吧! 共同点 二者都是以key-value的形式对数据进行存储 const obj {name:"zs",age:18}console.log(obj)let m new Map()m.set("name&quo…

shell算数运算指令、shell的if分支结构使用场景及相关代码

1.shell算数运算的指令 (( )) $[ ] let expr expr的字符串运算 例子: 2.shell的if分支结构 例子:

【C++】C++入门(上)--命名空间 输入输出 缺省参数 函数重载

目录 一 命名空间 1 命名空间的定义 2 命名空间的使用 二 C输入和输出 1 输出 2 输入 三 缺省参数 1 缺省参数概念 2 缺省参数分类 (1) 全缺省参数 (2)半缺省参数 四 函数重载 1 函数重载概念 2 分类 1 参数类型不同 2 参数个数不同 3 参数类型顺序不同 3 C为什…