imx6ull中断分析

imx6ull中断控制器使用GIC(通用中断控制器),功能框图如下图所示:
imx6ull中断分析
GIC 主要分为分发器(Distributor)和 CPU 接口(CPU interface/Virtual CPU interface)。
分发器(Distributor):分发器用于管理 CPU 所有中断源,确定每个中断的优先级,管理中断的屏蔽和中断抢占。最终将优先级最高的中断转发到一个或者多个 CPU 接口。 (也就是每次分发一个中断)。
分发器的作用:
• 全局的开启或关闭 CPU 的中断。
• 控制任意一个中断请求的开启和关闭。(中断使能)//最主要就是这个
• 设置每个中断请求的中断优先级。
• 指定中断发生时将中断请求发送到那些 CPU(i.MX 6U 是单核)。
• 设置每个”外部中断”的触发方式(边缘触发或者电平触发)。

CPU接口:CPU 接口可以开启或关闭发往 CPU 的中断请求, CPU 中断开启后只有优先级高于“中断优先级掩码”的中断请求才能被发送到 CPU。
CPU接口的作用:
• 开启或关闭向处理器发送中断请求.。
• 确认中断(acknowledging an interrupt)。
• 指示中断处理的完成。
• 为处理器设置中断优先级掩码。
• 定义处理器的抢占策略
• 确定挂起的中断请求中优先级最高的中断请求。
最主要就是获取当前中断的中断号:保存在 中断确认寄存器 GICC_IAR

上一篇:快速体验鸿蒙Liteos-A:IMX6ULL的QEMU系统(Windows版本)


下一篇:杰理之录音关键数据结构说明【篇】