Linux中断基础知识

本文深入探讨了Linux系统中ARM架构的中断处理,包括SGI、PPI和SPI三种中断类型及其在GIC(Generic Interrupt Controller)中的处理流程。GIC中断流程涉及中断状态机的变化,如Pending、Active和Inactive。Linux内核中断处理不支持高优先级中断抢占正在执行的低优先级中断。中断生命周期包括中断上半部的关中断处理、软中断的快速执行,以及可能由ksoftirqd线程处理的任务。提高Linux实时性的关键在于上半部线程化和软中断的策略安排。
摘要由CSDN通过智能技术生成

1、ARM中断器


1.1 ARM支持的中断器类型


        (1)SGI:软件触发中断(Software Generated Interrupt),通常用于多核间通讯,最多支
持16个SGI中断,硬件中断号从ID0~ID15。SGI通常在Linux内核中被用作IPI中断(inter-
processor interrupts),并会送达到系统指定的CPU上。


        (2)PPI:私有外设中断(Private Peripheral Interrupt),是每个CPU私有的中断。最多支持
16个PPI中断,硬件中断号从ID16~ID31。PPI通常会送达到指定的CPU上,应用场景有
CPU本地时钟。


        (3)SPI:公用外设中断(Shared Peripheral Interrupt),最多可以支持988个外设中断,硬
件中断号从ID32~ID1019。


1.2 GIC(中断生命周期)检测中断流程


        GIC 主要由两部分组成,分别是仲裁单元(Distributor)和CPU接口模块。


        GIC仲裁单元为每一个中断维护一个状态机,分别是:Active(正在处理&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值