相比STM32的NVIC,i.MX 6ULL的中断控制系统更复杂,它的中断管理器使用的是GIC V2,GIC V2的实现方式与我们熟知的NVIC差别较大。 本章重点讲解i.MX 6U的GIC基本结构以及实现方法,更详细的介绍可以参考《ARM® Generic Interrupt Controller》
本章主要内容:
-
掌握GIC V2的实现原理
-
编写i.MX 6U的中断向量表
-
按键中断实验
1. GIC简介
GIC是Generic Interrupt Controller的缩写,直译为通用中断控制器,它由ARM公司设计,目前共有4个版本V1~V4,i.MX 6U使用的是GIC V2。
GIC V2的功能框图如下所示。
上图从上往下看可知GIC最多支持8个处理器(processor0~ processor7)。不同处理器的GIC功能是相同的,我们只看其中一个即可。 GIC主要分为分发器(Distributor)和CPU接口(CPU interface/Virtual CPU interface)。下面重点讲解着两部分。
<