Linux内核中断的实现方式,Linux内核中断系统

本文介绍了Linux内核中断的基本概念,包括中断分类、中断控制器如GIC的介绍,以及中断处理框架,如顶半部和底半部的处理。还详细讲解了如何在驱动中申请、释放中断,以及使用tasklet、工作队列等底半部机制。
摘要由CSDN通过智能技术生成

前言

中断在驱动中是非常常用的,无论是外部的GPIO中断,还是SPI,I2C等发送或接收中断,都是必不可少的。所以今天来看看Linux中的中断处理。

中断分类

591c2eb7167a929d9b4f454b14f0b94d.png

上面我们根据中断来源,屏蔽方式和中断入口对中断进行了简单的分类。

中断控制器

PIC: 可编程中断控制器

GIC: Generic Interrupt Controller, 通用中断控制器。(常用)

b8db187b5aebe9e136b9b9115daa393e.png

GIC是目前最常见的一种中断控制器,它在多核CPU中特别常见。它对中断做了细分:

SGI: Software Generated Interrupt, 软件产生的中断,可以用于多核的核间通信。一个CPU可以通过写GIC的寄存器给另外一个CPU产生中断。(中断号0~15)

PPI: Private Peripheral Interrupt, 某个CPU私有外设的中断,这类外设的中断只能发给绑定的那个CPU。(中断号16~31)

SPI: Shared Peripheral Interrupt, 共享外设的中断,这类中断可以路由到任何一个CPU。(中断号32~1019)

这些更详细的内容可以到内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值