![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux中断子系统
文章平均质量分 92
学习
androidSystemDever
这个作者很懒,什么都没留下…
展开
-
【Linux中断子系统】中断上下文中为什么不能休眠?
参考1:原帖地址:http://bbs.chinaunix.net/thread-2115820-1-1.html 1.进入中断处理程序--->2.保存关键上下文---->3.开中断(sti指令)--->4.进入中断处理程序的 handler--->5.关中断(cli指令)---->6.写EOI寄存器(表示中断处理完成)---->7.开中断。硬中断:对应于上图的1、2、3步骤,在这几个步骤中,所有中断是被屏蔽的,如果在这个时候睡眠了,操作系统不会收到任原创 2020-08-03 00:31:49 · 282 阅读 · 0 评论 -
【Linux中断子系统】学习中断必备的基础知识之GIC控制器
通用中断控制器GIC1.1 GIC简介GIC 的全称是 generate interrupt controller,即 通用中断控制器。它是由 ARM公司 开发的一个 中断硬件IP,主要用于管理外设中断。中断为什么需要管理呢?要解决这个问题,我们需要知道 ARM核CPU 的一些小知识。在我们的 ARM核 上,其实只有 2根 中断线,也就是 IRQ(普通中断) 和 FIQ(快速中断),我们一个SoC 有许多许多个片上外设,这些片上外设如串口UART、I2C总线 等等都需要使用到中断,但是我们只有 2根转载 2020-07-16 10:30:35 · 1191 阅读 · 0 评论 -
【Linux中断子系统】学习中断必备的基础知识之中断与异常
异常1.1 异常与中断异常 和 中断 这 2 个词相信在各位学习Linux的读者严重不是很陌生。这 2 者在笔者理解来是属于 CPU 的概念,每个 CPU 都会发生 异常 和 中断。异常:在《ARM嵌入式系统开发》中的定义是 需要中止指令正常执行的任何情形。而这样的情形在 ARM 架构中一共有 7 种,分别是 复位、中断请求(irq)、快速中断请求(fiq)、软件中断(swi/svc)、数据访问中止、预取指中止 及 未定义指令。当 CPU 触发异常时,对自行切换到每种异常相应的 模式,然后跳到 异转载 2020-07-16 10:07:26 · 290 阅读 · 0 评论 -
【Linux中断子系统】疑问记录
IRQ Number 软件虚拟的 标识外设中断HW interrupt ID 硬件上的标识外设中断 1、irq domain干什么用的,为什么要使用它?irq domain就是指中断领域,任何超出这个范围的定义就没有意义了。IRQ domain来描述一个中断控制器(IRQ Controller)所管理的中断源。换句话说,每个中断控制器都有自己的domain。我们可以将IRQ Domain看作是IRQ Controller的软件抽象。这里所说的“中断控制器”,不仅指硬件上实际存在的中断控制器,也可原创 2020-07-15 22:42:38 · 341 阅读 · 0 评论 -
【Linux中断子系统】HW interrupt ID与IRQ number的关系
下面图片总结了Linux kernel的中断子系统之(二):IRQ Domain介绍的内容。图片来自Linux 中断 —— GIC (中断号映射)博客。可以完整知道内核如何将dts中的中断属性翻译成HW interrupt ID,以及如何将HW interrupt ID与IRQ number关联起来。...原创 2020-07-15 22:01:46 · 815 阅读 · 0 评论 -
内核中断号必须要跟硬件中断号一致吗
首先说明,答案是否定的,内核中断号可以与硬件中断号不一致,但是这是个无聊的问题。。实用价值不大。但是却可以引起对内核软件中断号与硬件中断号关系的思考。两者的关系我觉得可以从中断的初始化和分发过程来一探究竟。这里就从ARM PPC MIPS 3款主流嵌入式处理器架构的内核代码框架中来分析下他们中断的初始化和分发过程。一 中断的初始化对于中断初始化,在系统启动过程中,这3款处理器架构的内核软件框架中都会有相应的中断初始化函数.内核启动函数start_kernel中会调用init_IRQ来进行中断初转载 2020-07-15 20:56:43 · 463 阅读 · 0 评论 -
Linux(内核剖析):27---中断下半部之(下半部机制的选择、在下半部之间加锁、禁止下半部(local_bh_disable、local_bh_enable))
一、下半部机制的选择在各种不同的下半部实现机制之间做出选择是很重要的。在当前的2.6版内核中,有三种可能的选择:软中断、tasklet和工作队列。tasklet基于软中断实现,所以两者很相近。工作队列机 制与它们完全不同,它靠内核线程实现 从设计的角度考虑,软中断提供的执行序列化的保障最少。这就要求软中断处理函数必须格 外小心地采取...转载 2020-07-15 18:55:44 · 2178 阅读 · 0 评论