ARM Linux 嵌入式中断全流程解析:从 GPIO 到 GIC 架构实战
本文基于 Cortex-A 系列处理器imx6ull/Cortex-A7/A53整理覆盖中断处理全流程、GIC 架构演进、CP15 协处理器操作、底层汇编指令适合嵌入式 Linux / 裸机开发入门与复习。一、中断处理的 6 个标准步骤ARM 体系中一个完整的中断流程如下中断源发出中断请求如 GPIO 按键、定时器、UART 等外设触发CPU 检查是否响应中断 是否被屏蔽检查 CPSR 中的 I/F 位比较中断优先级由 GIC通用中断控制器仲裁保护现场保存 CPSR、LR压栈寄存器执行中断服务函数ISR恢复现场出栈返回被中断的程序继续执行二、GIC 架构与版本演进GICGeneric Interrupt Controller是 ARM 官方定义的中断控制器标准。1️⃣ GIC 版本对比GIC 版本适用处理器典型场景GIC v1Cortex-A5早期 32 位嵌入式GIC v2Cortex-A732 位imx6ull、树莓派等GIC v3/v4Cortex-A5364 位手机 SoCGIC v5重架构支持数百核服务器 / 高性能计算imx6ull 实际支持 160 个中断号0–159三、GIC 中断类型详解GIC 将中断分为三类中断类型缩写中断号范围说明软件中断SGI0 – 15CPU 核间通信私有外设中断PPI16 – 31每个核独享共享外设中断SPI32 – 1019GPIO、UART、Timer 等✅我们常用的 GPIO 中断属于 SPI四、CP15 协处理器与 GIC 基地址ARM 中很多系统控制功能都通过CP15 协处理器完成。1️⃣ 常用指令mrc p15, 0, Rt, CRn, CRm, opc2 ; 读 CP15 寄存器 mcr p15, 0, Rt, CRn, CRm, opc2 ; 写 CP15 寄存器2️⃣ 读取 GIC 基地址CBARmrc p15, 4, r1, c15, c0, 0 ; 读取 CBAR得到 GIC 基地址到 r1五、中断关键寄存器GIC 接口中有两个非常关键的寄存器uint32_t ICC_IAR; /* Offset: 0x200C (R) 中断应答寄存器 */ uint32_t ICC_EOIR; /* Offset: 0x2010 (W) 中断结束寄存器 */ICC_IARCPU 读取后表示“我知道这个中断了”ICC_EOIRCPU 写入后表示“中断处理完毕”⚠️ 两者缺一不可否则中断会一直挂起。六、开关中断与控制指令1️⃣ cps 指令最常用cpsie i ; 使能 IRQ 中断 cpsid i ; 关闭 IRQ 中断标志含义IIRQ 中断FFIQ 快速中断2️⃣ SCTLR 控制示例mrc p15, 0, r0, c1, c0, 0 ; 读 SCTLR bic r0, r0, #(1 13) orr r0, r0, #(1 12) mcr p15, 0, r0, c1, c0, 0 ; 写回 SCTLR七、GPIO 中断实战示例Key0GPIO1_18以GPIO1_18 按键中断为例典型流程如下配置 GPIO 为中断模式设置触发方式下降沿 / 上升沿使能 GPIO 中断在 GIC 中使能对应 SPI 中断设置中断优先级ISR 中读取ICC_IAR清除中断标志写ICC_EOIR结束中断GPIO → GIC → CPU 内核​ 是标准的硬件中断链路。八、完整中断调用链总结外设中断(GPIO/UART/Timer) ↓ GIC(SPI/PPI/SGI) ↓ CPU(IRQ/FIQ) ↓ 保护现场 ↓ 执行 ISR ↓ 恢复现场 ↓ ICC_EOIR ↓ 返回原程序九、常见踩坑提醒 ⚠️❌ 只清 GPIO 中断标志不写ICC_EOIR→ 中断反复进入❌ 忘记cpsie i→ 中断永远进不来❌ 混淆 SPI / PPI / SGI 的中断号范围❌ 在多核平台未正确绑定中断亲和性GICv3十、总结一句话中断 硬件触发 GIC 仲裁 CPU 响应 现场保护 ISR 执行 中断结束

相关新闻

从“盖章“到“上链“:十部委电子单证新规,正在改写企业合同管理的游戏规则

从“盖章“到“上链“:十部委电子单证新规,正在改写企业合同管理的游戏规则

摘要:2026年十部委联合发布的《促进和规范电子单证应用规定》将电子合同带入“签得可信”的新阶段,明确要求电子单证具备可追溯、不可篡改和签发人识别三大核心能力。规定列出的九个评价因素为企业选型提供了清晰标准,并首次为跨境贸易数据出…

2026/7/28 9:24:58 阅读更多 →
终极指南:5分钟掌握GIMP-ML免费AI图像增强神器

终极指南:5分钟掌握GIMP-ML免费AI图像增强神器

终极指南:5分钟掌握GIMP-ML免费AI图像增强神器 【免费下载链接】GIMP-ML AI for GNU Image Manipulation Program 项目地址: https://gitcode.com/gh_mirrors/gi/GIMP-ML 还在为老照片修复发愁?想要一键提升图片质量却不懂复杂技术?GI…

2026/7/30 9:15:53 阅读更多 →
四叶草拼音输入法完整指南:打造纯净智能的中文输入体验 [特殊字符]️

四叶草拼音输入法完整指南:打造纯净智能的中文输入体验 [特殊字符]️

四叶草拼音输入法完整指南:打造纯净智能的中文输入体验 🍀️ 【免费下载链接】rime-cloverpinyin 🍀️四叶草拼音输入方案,做最好用的基于rime开源的简体拼音输入方案! 项目地址: https://gitcode.com/gh_mirrors/ri…

2026/7/30 19:33:20 阅读更多 →

最新新闻

如何用DankDroneDownloader实现大疆无人机固件降级:完整专业指南

如何用DankDroneDownloader实现大疆无人机固件降级:完整专业指南

如何用DankDroneDownloader实现大疆无人机固件降级:完整专业指南 【免费下载链接】DankDroneDownloader A Custom Firmware Download Tool for DJI Drones Written in C# 项目地址: https://gitcode.com/gh_mirrors/da/DankDroneDownloader DankDroneDownloa…

2026/8/1 3:10:56 阅读更多 →
终极直播输入显示指南:Input Overlay 免费插件完整教程

终极直播输入显示指南:Input Overlay 免费插件完整教程

终极直播输入显示指南:Input Overlay 免费插件完整教程 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay Input Overlay 是一款专为 OBS Studio 设计的开源插件…

2026/8/1 3:10:56 阅读更多 →
中小律所数字化转型:零代码管理软件的核心优势

中小律所数字化转型:零代码管理软件的核心优势

1. 为什么中小律所需要专属管理软件在传统办公模式下,中小律所普遍面临着案件管理混乱、文书归档无序、日程安排冲突等典型痛点。我接触过不少10人以下的律所团队,发现他们最常使用的"管理工具"竟然是Excel表格加纸质笔记本的组合。这种工作方…

2026/8/1 3:10:56 阅读更多 →
Spring Boot+Vue+UniApp医院挂号小程序全栈开发实战指南

Spring Boot+Vue+UniApp医院挂号小程序全栈开发实战指南

这次我们来看一个完整的医院挂号预约小程序项目。这个项目基于 Spring Boot Vue UniApp 技术栈,是一个典型的“前后端分离 跨端小程序”的实战案例,非常适合作为计算机相关专业的毕业设计、课程设计,或者用于学习全栈开发流程。项目最核心…

2026/8/1 3:10:56 阅读更多 →
风光储互补微电网Simulink建模与优化实践

风光储互补微电网Simulink建模与优化实践

1. 风光储互补微电网的核心价值与挑战微电网作为分布式能源的重要载体,正在重塑传统电力系统的格局。而风光储互补系统通过整合光伏发电、风力发电和储能电池,形成了一个具有高度自主性的供电单元。这种系统在偏远地区供电、岛屿电网、重要设施备用电源等…

2026/8/1 3:10:56 阅读更多 →
Akagi雀魂助手:3步掌握麻将AI智能辅助,从新手到高手的终极指南

Akagi雀魂助手:3步掌握麻将AI智能辅助,从新手到高手的终极指南

Akagi雀魂助手:3步掌握麻将AI智能辅助,从新手到高手的终极指南 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou,…

2026/8/1 3:09:56 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →