Linux 中断控制器(五):中断号映射

news2024/11/16 21:41:44

中断号分为硬件中断号(HW ID)软件中断号(IRQ number)

在这里插入图片描述
这里有两个中断控制器,处理完毕进入 CPU。外设和中断控制器连接在一起,外设给中断控制器的是硬件中断号,如果中断控制器有级联,那么硬件中断号在不同的中断控制器中可能会重复。但是到了 CPU 以后,我们需要对不同中断控制器给过来的硬件中断号进行翻译,翻译成在软件中唯一的软件中断号,叫 irq number。

注意,我们在设备树中配置的是硬件中断号,在软件中申请中断 request_irq 使用的是软件中断号,所以申请之前要先从设备树获取硬件中断号,然后使用 irq_of_parse_and_map 进行翻译再使用,这个后面会详细讲,并给出示例。

1、硬件中断号与软件中断号

在 Linux kernel 中我们使用下面两个 ID 来标识一个来自外设的中断:

1、IRQ number。CPU需要为每个外设中断编号,我们称之 IRQ Number。这个 IRQ number 是一个虚拟的 interrupt ID,和硬件无关,仅仅是被 CPU 用来标识个外设中断。

2、HW interrupt ID。对于 interrupt controller 而言,它收集了多个外设的 interrupt request line 井向上传递,因此,interrupt contro

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

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

相关文章

C语言:分支语句和循环语句

往期文章 C语言:初识C语言 目录往期文章前言1. 什么是语句2. 分支语句(选择结构)2.1 if语句2.2 switch语句3. 循环语句3.1 while循环3.2 for循环3.3 do while 循环3.4 goto语句后记前言 趁热打铁啊。写完该系列第一篇博客我就来劲了&#x…

TicTacToe: 基于时序差分TD(0)算法的agent实现以及完整python实现框架

目录 1. 前言 2. TD(0) 3. 实现要点解读 3.1 Class Env 3.2 Class State 3.3 Class Agent 3.3.1 class TD0Agent(Agent) 3.3.2 class MinimaxAgent 3.3.3 class RandomAgent(Agent) 3.3.4 class HumanPlayer(Agent) 3.4 棋盘和玩家的表示 4. Utility Function 4.1…

Redis02之使用java代码操作Redis

目录 1、可视化管理工具redis-desktop-manager安装与配置 ​编辑 2、Java访问redis 注1:不需要记得API的方法,只需要查redis命令 3、web3.0设置 1、可视化管理工具redis-desktop-manager安装与配置 1.1 双击redis-desktop-manager-0.8.8.384.exe即可…

【LeetCode】2293. 极大极小游戏

2293. 极大极小游戏 题目描述 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度,如果 n 1 ,终止 算法过程。否则,创建 一个新的整数数组 newNums &#xf…

自动驾驶轨迹生成-贝塞尔(Bézier)曲线

引言 最近刚看完贝塞尔曲线,工作就遇到了相应的需求,所以写一下过程。主要讲的是自动驾驶中,车换道时用到贝塞尔曲线,当然其他的很多领域也会有,例如图形学等。 在车遇到障碍物或者是前车速度较慢的时候,…

【编译原理核心知识点总结】第三章、正则文法、NFA、DFA

阅读规范: 本文以重点为主,零碎知识点/相对不够重要的为辅助阅读内容,以脚注形式给出,点击脚注即可快速跳转。助解题目通常是为了帮助理解给出的题目,考试不考,若已理解可直接跳过。文中提到的课本是陈火旺…

SpringBoot 并发编程学习历程(绝对的干货)

如果一个项目总用单线程来跑,难免会遇到一些性能问题,所以再开发中,我们应该尽量适量的使用多线程(在保证线程安全的情况下)。 本教程大概目录: 1.模拟单线程情节 2.用Callable实现 并发编程 3.用DeferedR…

高并发系统设计 --基于bitmap的用户签到

业务需求分析 一般像微博,各种社交软件,游戏等APP,都会有一个签到功能,连续签到多少天,送什么东西,比如: 签到1天送10积分,连续签到2天送20积分,3天送30积分&#xff0…

Qt之QDrag的使用(含源码+注释)

一、效果示例图 提示:主控件(CDragTest界面,UI中中包含CWidget界面);子控件(CWidget界面,在CDragTest界面添加) 提示:源码中拖拽数据设置的文本不同,是博主准…

【ONE·C || 分支循环】

总言 C语言:分支循环。 文章目录总言1、分支语句1.1、if语句1.1.1、基本格式1.1.2、逻辑真假与悬空else1.1.3、练习1.2、switch语句1.2.1、基本格式:break、case、default1.2.2、练习:switch语句嵌套2、循环语句2.1、while循环2.1.1、基本格式…

uniapp实现界面可任意拖动小图标

uniapp实现界面可任意拖动小图标一、问题:二、解决步骤2.1 根据uni-app官方提供的案例,创建组件2.2 在需要的界面引入组件使用额外注意一、问题: 例如购物车小图标可任意拖动 二、解决步骤 2.1 根据uni-app官方提供的案例,创建…

Kubernetes教程(二)---集群网络之 Flannel 核心原理

来自:指月 https://www.lixueduan.com 原文:https://www.lixueduan.com/posts/kubernetes/02-cluster-network/ 本文主要记录了 Kubernetes 集群网络方案之 Flannel 核心原理详解,包括其隧道方案中的两种:UDP 实现和 VXLAN 实现…

Mysql之增删改查

这里的增删改查主要是对应表中的数据,不像前一篇那个列类型,耳机具体的哪一条数据 Insert 其实我们前面都用过好多次了 比如下面那个 可以 关于那个表名后面加不加(列类型),下面有解释 INSERT INTO shanpin VALUES…

关于yolov8一些训练的情况

U神出品了最新的yolov8,从公开的参数量来看确实很优秀!!!!比如下图得一些指标: 可以看到s模型640得map已经达到了44.9,v8n得map也已经达到了37.3,很强了,但是实际上是怎么…

Python爬虫之Scrapy框架系列(3)——项目实战【某瓣top250电影信息获取】

目录:1. 某瓣电影top250首页电影信息的获取!1.创建项目:2.创建爬虫文件:3.运行爬虫文件:4.设置请求头:5.获取到电影名字:5.1 使用shell交互式平台:5.1.1 首先:打开我们的…

239页10万字“联、管、用”三位一体雪亮工程整体建设方案

【版权声明】本资料来源网络,知识分享,仅供个人学习,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间删除!完整资料领取见文末,部分资料内容: 目录 1、 项目概述 1.1 项目背…

用R语言绘制泰勒级数的逼近过程

文章目录泰勒级数是如何被发现的用图像理解Taylor级数的逼近过程前情提要 R语言微积分极限π,e,γ\pi, e, \gammaπ,e,γ洛必达法则连续性和导数数值导数差商与牛顿插值方向导数 泰勒级数是如何被发现的 如果我是泰勒,我会把思考的起点建立在这样的一个等式上 f(n…

Windows10电脑重装系统详细步骤(纯净版)

目录 前言: 一、准备工作 二、下载pe工具 三、下载系统镜像ISO文件 获取方式一 获取方式二 获取方式三 四、进入pe系统 1.检查以上的准备工作是否完成 2.然后拔出来u盘插入要重装的电脑上面 3.然后按电源键开机(不能点击重启!&…

【Git 从入门到精通】使用Git将本地代码推送到Github

文章目录一、创建远程库二、Git操作远程库1.推送代码2.克隆代码3.拉取代码4.Pull request5.常用命令总结一、创建远程库 打开github.com,点击右上角加号,点击第一个选项。 填写库的基本信息,如果你想代码开源就选择public,否则就…

开发模型和测试模型

开发模型瀑布模型特点:线性结构,每个阶段只执行一次,必须完成上一个才能执行下一个。是其他模型的基础框架缺点:测试后置,1)前面各个阶段的遗留的风险推迟到测试阶段才被发现,导致项目大面积返工…