CIC片级中断控制器
CIC的作用
KeyStone结构有许多外设和大量的事件源,EDMA3信道控制器(EDMA3CC)和C66xCorePac都能够直接接收事件。然而,每个EDMA3CC和C66xCorePac的可接受事件的数量是有限的。
因此,在将这些事件路由到EDMA3CC和C66xCorePaCs之前,需要通过CIC进行聚合。并通过结合和/或选择这些芯片级事件,生成到EDMA3CC和C66xCorePac的事件输入。
CIC的操作
CIC的主要操作将 system interrupt映射到host interrupt(core),首先CIC接收系统中断并将它们映射到内部通道。通道作用是对这些中断进行分组。然后将这些通道映射机中断的接口上。在KeyStone 架构中,通道和主机中断之间存在固定的一一对应关系。
操作关系如下图所示
Enable
使用使能中断器启用或禁用系统中断
Status
有两种状态:挂起和启用。
Channel mapping (programmable)
将已启用的系统中断映射到内部通道。通道用于将系统中断进行分组,可以提供给主机接口。当多个系统中断映射到同一通道时,其中一个触发,通道都会触发。每个系统中断都有一个寄存器来定义其映射。
Host interrupt mapping (fixed)
将定义的通道数映射到主机中断(固定)。
Prioritization
对所有系统中断进行优先排序,以决定要处理的单个系统中断
中断服务流程
- 1.接收中断
- 2.禁用主机中断
- 3.读取“系统中断状态寄存器”清除CIC系统中断状态清除寄存器中的系统中断标志
- 4.中断服务
- 5.使能主机中断
- 6.中断返回